diff --git a/DEPS b/DEPS
index 1b835156..8700b9c 100644
--- a/DEPS
+++ b/DEPS
@@ -253,15 +253,15 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling Skia
   # and whatever else without interference from each other.
-  'skia_revision': '564e7ae44e3af4c4b5dc14c8cae4fde67d71a1d6',
+  'skia_revision': '08ece0c9a0d9a871a98d34df91ff64ad6fcd357b',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling V8
   # and whatever else without interference from each other.
-  'v8_revision': 'a3e9688af70e815d246de1b8f8d83b2214a971c5',
+  'v8_revision': 'aca4b2990819adc24b784e1d31b36d29cdd787f9',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling ANGLE
   # and whatever else without interference from each other.
-  'angle_revision': 'e56f185b3c476edad5f8cb02deed97c73b995f7a',
+  'angle_revision': 'cb990e40a5c03cf28b2cf1fdc7d1a567ac679068',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling SwiftShader
   # and whatever else without interference from each other.
@@ -300,7 +300,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling freetype
   # and whatever else without interference from each other.
-  'freetype_revision': 'a960be9e5e9846e1e4e8d2254e0b405fbf84346b',
+  'freetype_revision': 'fc15ebe0a629acf769ed8976e3d5b84ee4e01236',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling freetype
   # and whatever else without interference from each other.
@@ -328,7 +328,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling devtools-frontend
   # and whatever else without interference from each other.
-  'devtools_frontend_revision': 'c2cfb60f9104d416f898d06e836897d18277e773',
+  'devtools_frontend_revision': 'bc4f15e49cd1361b888eeae9c30c6d8b03442800',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling libprotobuf-mutator
   # and whatever else without interference from each other.
@@ -368,7 +368,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling feed
   # and whatever else without interference from each other.
-  'dawn_revision': 'd9f22ce0346b222759d5510be3d1cd93caa5ab86',
+  'dawn_revision': 'd9d16bb657a1e1642ff21b1e05467fc919add046',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling feed
   # and whatever else without interference from each other.
@@ -816,7 +816,7 @@
       'packages': [
         {
           'package': 'chromium/rts/model/linux-amd64',
-          'version': 'YXAiQuHJqULSB4E11R_3l7xMTCdlBagMN0yD5fOgyhsC',
+          'version': '0YuV48mJEff2uEV3OhZ1Ha1G8uKAogRBr5fcfcYHX9gC',
         },
       ],
       'dep_type': 'cipd',
@@ -827,7 +827,7 @@
       'packages': [
         {
           'package': 'chromium/rts/model/mac-amd64',
-          'version': 'ul1pXqgzEpA5LEwBwR5fFSedq71tDdDLSEKnLar7szoC',
+          'version': 'gtwTLNrCea9M2SWGNV5ZhWHDJ4F3JYpoHtb15C1syucC',
         },
       ],
       'dep_type': 'cipd',
@@ -838,7 +838,7 @@
       'packages': [
         {
           'package': 'chromium/rts/model/windows-amd64',
-          'version': 'WSxyvgDCjjZA-FCqH7sF-53uPDQSPiKKxXQ2fzS0_9kC',
+          'version': '8wP12_l3vncU5qBFUUKd2SbuAw14IfeopwUuXvFaddYC',
         },
       ],
       'dep_type': 'cipd',
@@ -1510,7 +1510,7 @@
   },
 
   'src/third_party/perfetto':
-    Var('android_git') + '/platform/external/perfetto.git' + '@' + '5f95e723334de734243833fd44456be8951ff0a0',
+    Var('android_git') + '/platform/external/perfetto.git' + '@' + '723b273d391e1b5330dba2cf2c3af6f7f4abea2c',
 
   'src/third_party/perl': {
       'url': Var('chromium_git') + '/chromium/deps/perl.git' + '@' + '6f3e5028eb65d0b4c5fdd792106ac4c84eee1eb3',
@@ -1588,7 +1588,7 @@
       'packages': [
           {
               'package': 'fuchsia/third_party/android/aemu/release/linux-amd64',
-              'version': 'nsnVasAgS3vlhmFHKISRZe1bGOMOXx3sIR7V3g8yYHsC'
+              'version': 'd6qARmKQjSkOrZhoDOyw2TxfYhP38uFMx6fqS2wHUioC'
           },
       ],
       'condition': 'host_os == "linux" and checkout_fuchsia',
@@ -1731,7 +1731,7 @@
     Var('chromium_git') + '/external/github.com/gpuweb/cts.git' + '@' + '09f024e50e84f191ee4546ef4021707faa376096',
 
   'src/third_party/webrtc':
-    Var('webrtc_git') + '/src.git' + '@' + '82c94af48f74699bc1cd2bcad4f91073fd4b88cc',
+    Var('webrtc_git') + '/src.git' + '@' + '94029b812f741f0085608e5a76beb81a189b370c',
 
   'src/third_party/libgifcodec':
      Var('skia_git') + '/libgifcodec' + '@'+  Var('libgifcodec_revision'),
@@ -1801,7 +1801,7 @@
     Var('chromium_git') + '/v8/v8.git' + '@' +  Var('v8_revision'),
 
   'src-internal': {
-    'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@24210a1d36e9e0c779d7f5522a9acc471676220d',
+    'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@fd3388216f58db109649a1c1874e6d9dc7354095',
     'condition': 'checkout_src_internal',
   },
 
@@ -1831,7 +1831,7 @@
     'packages': [
       {
         'package': 'chromeos_internal/apps/help_app/app',
-        'version': 'RS2i4HWFbzRx8BRu0KW0hxhkiQOe9DaxspA4Ka96LwAC',
+        'version': 'Df32O2qtkreYXb-eeTNhVqPhK5cyONIy3KUQEkjD33wC',
       },
     ],
     'condition': 'checkout_chromeos and checkout_src_internal',
@@ -1853,7 +1853,7 @@
     'packages': [
       {
         'package': 'chromeos_internal/apps/projector_app/app',
-        'version': 'S062z4H04AYdDFOi5twdpQ_t3B0Q3OqPVmnjbx5y97UC',
+        'version': 'vwPwnTYg9znaUxIXekVZymYV8S81rc-1kxjS24iajSAC',
       },
     ],
     'condition': 'checkout_chromeos and checkout_src_internal',
diff --git a/android_webview/browser/aw_feature_list.cc b/android_webview/browser/aw_feature_list.cc
index a228fb83d..e98f6be 100644
--- a/android_webview/browser/aw_feature_list.cc
+++ b/android_webview/browser/aw_feature_list.cc
@@ -33,7 +33,6 @@
     &features::kWebViewMeasureScreenCoverage,
     &features::kWebViewJavaJsBridgeMojo,
     &features::kWebViewUseMetricsUploadService,
-    &features::kWebViewLogFirstPartyPageTimeSpent,
     &features::kWebViewXRequestedWithHeader,
     &features::kWebViewSynthesizePageLoadOnlyOnInitialMainDocumentAccess,
 };
diff --git a/android_webview/common/aw_features.cc b/android_webview/common/aw_features.cc
index 326a7f7..0f4f4cda 100644
--- a/android_webview/common/aw_features.cc
+++ b/android_webview/common/aw_features.cc
@@ -77,10 +77,6 @@
 const base::Feature kWebViewLegacyTlsSupport{"WebViewLegacyTlsSupport",
                                              base::FEATURE_ENABLED_BY_DEFAULT};
 
-// Enables logging whether it was a first party page when logging PageTimeSpent.
-const base::Feature kWebViewLogFirstPartyPageTimeSpent{
-    "WebViewLogFirstPartyPageTimeSpent", base::FEATURE_DISABLED_BY_DEFAULT};
-
 // Measure the number of pixels occupied by one or more WebViews as a
 // proportion of the total screen size. Depending on the number of
 // WebVieaws and the size of the screen this might be expensive so
diff --git a/android_webview/common/aw_features.h b/android_webview/common/aw_features.h
index 06c288c..5ab3cf9 100644
--- a/android_webview/common/aw_features.h
+++ b/android_webview/common/aw_features.h
@@ -28,7 +28,6 @@
 extern const base::Feature kWebViewForceDarkModeMatchTheme;
 extern const base::Feature kWebViewJavaJsBridgeMojo;
 extern const base::Feature kWebViewLegacyTlsSupport;
-extern const base::Feature kWebViewLogFirstPartyPageTimeSpent;
 extern const base::Feature kWebViewMeasureScreenCoverage;
 extern const base::Feature kWebViewMixedContentAutoupgrades;
 extern const base::Feature kWebViewOriginTrials;
diff --git a/android_webview/java/src/org/chromium/android_webview/AwWebContentsObserver.java b/android_webview/java/src/org/chromium/android_webview/AwWebContentsObserver.java
index 6d26a9e..da81a84e 100644
--- a/android_webview/java/src/org/chromium/android_webview/AwWebContentsObserver.java
+++ b/android_webview/java/src/org/chromium/android_webview/AwWebContentsObserver.java
@@ -4,18 +4,8 @@
 
 package org.chromium.android_webview;
 
-import android.content.Intent;
-import android.content.pm.PackageManager;
-import android.net.Uri;
-import android.os.SystemClock;
-
 import org.chromium.android_webview.AwContents.VisualStateCallback;
-import org.chromium.android_webview.common.AwFeatures;
-import org.chromium.base.ContextUtils;
-import org.chromium.base.PackageManagerUtils;
-import org.chromium.base.metrics.RecordHistogram;
 import org.chromium.base.task.PostTask;
-import org.chromium.components.embedder_support.util.UrlConstants;
 import org.chromium.content_public.browser.GlobalRenderFrameHostId;
 import org.chromium.content_public.browser.LifecycleState;
 import org.chromium.content_public.browser.NavigationHandle;
@@ -28,7 +18,6 @@
 import org.chromium.url.GURL;
 
 import java.lang.ref.WeakReference;
-import java.util.Locale;
 
 /**
  * Routes notifications from WebContents to AwContentsClient and other listeners.
@@ -47,17 +36,6 @@
     // Temporarily stores the URL passed the last time to didFinishLoad callback.
     private String mLastDidFinishLoadUrl;
 
-    // The start time for measuring time spent on a page, from commit to the start of the next
-    // navigation.
-    private long mStartTimeSpentMillis = -1;
-
-    // The scheme for the page we're currently on and measuring time spent for.
-    private String mCurrentSchemeForTimeSpent;
-
-    // Whether we're currently on a first party web page. This means the scheme is http or https
-    // and a web intent with the url resolves to an activity for the current app.
-    private boolean mOnFirstPartyWebPage;
-
     public AwWebContentsObserver(
             WebContents webContents, AwContents awContents, AwContentsClient awContentsClient) {
         super(webContents);
@@ -141,88 +119,6 @@
         client.updateTitle(title, true);
     }
 
-    /**
-     * Converts a scheme to a histogram Scheme key used in
-     * Android.WebView.PageTimeSpent2.{Scheme}{Party}. These must be kept in sync.
-     */
-    private static String pageTimeSpentSchemeToHistogramKey(String scheme) {
-        switch (scheme) {
-            case UrlConstants.APP_INTENT_SCHEME:
-                return "App";
-            case UrlConstants.BLOB_SCHEME:
-                return "Blob";
-            case UrlConstants.CHROME_SCHEME:
-                return "Chrome";
-            case UrlConstants.CHROME_NATIVE_SCHEME:
-                return "ChromeNative";
-            case UrlConstants.CONTENT_SCHEME:
-                return "Content";
-            case UrlConstants.CUSTOM_TAB_SCHEME:
-                return "CustomTab";
-            case UrlConstants.DATA_SCHEME:
-                return "Data";
-            case UrlConstants.DEVTOOLS_SCHEME:
-                return "Devtools";
-            case UrlConstants.DOCUMENT_SCHEME:
-                return "Document";
-            case UrlConstants.FILE_SCHEME:
-                return "File";
-            case UrlConstants.FILESYSTEM_SCHEME:
-                return "Filesystem";
-            case UrlConstants.FTP_SCHEME:
-                return "Ftp";
-            case UrlConstants.HTTP_SCHEME:
-                return "Http";
-            case UrlConstants.HTTPS_SCHEME:
-                return "Https";
-            case UrlConstants.INLINE_SCHEME:
-                return "Inline";
-            case UrlConstants.INTENT_SCHEME:
-                return "Intent";
-            case UrlConstants.JAR_SCHEME:
-                return "Jar";
-            case UrlConstants.JAVASCRIPT_SCHEME:
-                return "JavaScript";
-            case UrlConstants.SMS_SCHEME:
-                return "Sms";
-            case UrlConstants.TEL_SCHEME:
-                return "Tel";
-            default:
-                return "Other";
-        }
-    }
-
-    /**
-     * Converts a boolean to a histogram Party key used in
-     * Android.WebView.PageTimeSpent2.{Scheme}{Party}. These must be kept in sync.
-     */
-    private static String pageTimeSpentPartyBooleanToHistogramKey(boolean firstParty) {
-        return firstParty ? ".FirstParty" : ".ThirdParty";
-    }
-
-    @Override
-    public void didStartNavigation(NavigationHandle navigation) {
-        // Time spent on page is measured from navigation commit to the start of the next
-        // navigation.
-        if (navigation.isInPrimaryMainFrame() && !navigation.isSameDocument()
-                && mStartTimeSpentMillis != -1 && mCurrentSchemeForTimeSpent != null) {
-            long timeSpentMillis = SystemClock.uptimeMillis() - mStartTimeSpentMillis;
-            String schemeKey = pageTimeSpentSchemeToHistogramKey(mCurrentSchemeForTimeSpent);
-            RecordHistogram.recordLongTimesHistogram100(
-                    "Android.WebView.PageTimeSpent2." + schemeKey, timeSpentMillis);
-            if (AwFeatureList.isEnabled(AwFeatures.WEBVIEW_LOG_FIRST_PARTY_PAGE_TIME_SPENT)
-                    && (UrlConstants.HTTP_SCHEME.equals(mCurrentSchemeForTimeSpent)
-                            || UrlConstants.HTTPS_SCHEME.equals(mCurrentSchemeForTimeSpent))) {
-                String partyKey = pageTimeSpentPartyBooleanToHistogramKey(mOnFirstPartyWebPage);
-                RecordHistogram.recordLongTimesHistogram100(
-                        "Android.WebView.PageTimeSpent2." + schemeKey + partyKey, timeSpentMillis);
-            }
-            mStartTimeSpentMillis = -1;
-            mCurrentSchemeForTimeSpent = null;
-            mOnFirstPartyWebPage = false;
-        }
-    }
-
     @Override
     public void didFinishNavigation(NavigationHandle navigation) {
         String url = navigation.getUrl().getPossiblyInvalidSpec();
@@ -231,34 +127,6 @@
                     navigation.isInPrimaryMainFrame(), navigation.errorCode(), navigation.getUrl());
         }
 
-        // Time spent on page is measured from navigation commit to the start of the next
-        // navigation.
-        if (navigation.isInPrimaryMainFrame() && !navigation.isSameDocument()) {
-            if (navigation.hasCommitted()) {
-                mStartTimeSpentMillis = SystemClock.uptimeMillis();
-                mCurrentSchemeForTimeSpent =
-                        navigation.getUrl().getScheme().toLowerCase(Locale.ROOT);
-                mOnFirstPartyWebPage = false;
-
-                if (AwFeatureList.isEnabled(AwFeatures.WEBVIEW_LOG_FIRST_PARTY_PAGE_TIME_SPENT)
-                        && (UrlConstants.HTTP_SCHEME.equals(mCurrentSchemeForTimeSpent)
-                                || UrlConstants.HTTPS_SCHEME.equals(mCurrentSchemeForTimeSpent))) {
-                    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
-                    intent.setPackage(ContextUtils.getApplicationContext().getPackageName());
-                    if (PackageManagerUtils.resolveActivity(
-                                intent, PackageManager.MATCH_DEFAULT_ONLY)
-                            != null) {
-                        mOnFirstPartyWebPage = true;
-                    }
-                }
-
-            } else {
-                mStartTimeSpentMillis = -1;
-                mCurrentSchemeForTimeSpent = null;
-                mOnFirstPartyWebPage = false;
-            }
-        }
-
         if (!navigation.hasCommitted()) return;
 
         mCommittedNavigation = true;
diff --git a/android_webview/java/src/org/chromium/android_webview/common/ProductionSupportedFlagList.java b/android_webview/java/src/org/chromium/android_webview/common/ProductionSupportedFlagList.java
index 95f8910..bac94fc 100644
--- a/android_webview/java/src/org/chromium/android_webview/common/ProductionSupportedFlagList.java
+++ b/android_webview/java/src/org/chromium/android_webview/common/ProductionSupportedFlagList.java
@@ -222,9 +222,6 @@
             Flag.baseFeature(AwFeatures.WEBVIEW_USE_METRICS_UPLOAD_SERVICE,
                     "Upload UMA metrics logs through MetricsUploadService not via GMS-core"
                             + " directly."),
-            Flag.baseFeature(AwFeatures.WEBVIEW_LOG_FIRST_PARTY_PAGE_TIME_SPENT,
-                    "Enables logging whether it was a first party page when logging"
-                            + " PageTimeSpent."),
             Flag.baseFeature(BlinkFeatures.FORCE_MAJOR_VERSION_IN_MINOR_POSITION_IN_USER_AGENT,
                     "Force the Chrome major version number to 99 and put the major version"
                             + " number in the minor version position in the User-Agent string."),
diff --git a/android_webview/test/shell/src/draw_fn/context_manager.cc b/android_webview/test/shell/src/draw_fn/context_manager.cc
index 0e1bdb79..5f01350 100644
--- a/android_webview/test/shell/src/draw_fn/context_manager.cc
+++ b/android_webview/test/shell/src/draw_fn/context_manager.cc
@@ -66,6 +66,9 @@
 
 class ContextManagerGL : public ContextManager {
   // TODO(penghuang): remove those proc types when EGL header is updated to 1.5.
+  typedef EGLBoolean(EGLAPIENTRYP PFNEGLINITIALIZEPROC)(EGLDisplay dpy,
+                                                        EGLint* major,
+                                                        EGLint* minor);
   typedef EGLBoolean(EGLAPIENTRYP PFNEGLCHOOSECONFIGPROC)(
       EGLDisplay dpy,
       const EGLint* attrib_list,
@@ -102,6 +105,7 @@
   // singleton so just keeping them as member variables / functions.
   PFNEGLGETPROCADDRESSPROC eglGetProcAddressFn = nullptr;
   PFNEGLBINDAPIPROC eglBindAPIFn = nullptr;
+  PFNEGLINITIALIZEPROC eglInitialize = nullptr;
   PFNEGLGETDISPLAYPROC eglGetDisplayFn = nullptr;
   PFNEGLMAKECURRENTPROC eglMakeCurrentFn = nullptr;
   PFNEGLSWAPBUFFERSPROC eglSwapBuffersFn = nullptr;
@@ -135,6 +139,7 @@
     CHECK(eglGetProcAddressFn) << "Failed to get eglGetProcAddress.";
 
     AssignProc(eglBindAPIFn, "eglBindAPI");
+    AssignProc(eglInitialize, "eglInitialize");
     AssignProc(eglGetDisplayFn, "eglGetDisplay");
     AssignProc(eglMakeCurrentFn, "eglMakeCurrent");
     AssignProc(eglSwapBuffersFn, "eglSwapBuffers");
@@ -147,8 +152,12 @@
   }
 
   EGLDisplay GetDisplay() {
-    static EGLDisplay display = eglGetDisplayFn(EGL_DEFAULT_DISPLAY);
-    CHECK_NE(display, EGL_NO_DISPLAY);
+    static EGLDisplay display = nullptr;
+    if (!display) {
+      display = eglGetDisplayFn(EGL_DEFAULT_DISPLAY);
+      CHECK_NE(display, EGL_NO_DISPLAY);
+      CHECK(eglInitialize(display, nullptr, nullptr));
+    }
     return display;
   }
 
diff --git a/ash/accelerators/accelerator_table_unittest.cc b/ash/accelerators/accelerator_table_unittest.cc
index bbfd727..6fae3b03 100644
--- a/ash/accelerators/accelerator_table_unittest.cc
+++ b/ash/accelerators/accelerator_table_unittest.cc
@@ -16,10 +16,10 @@
 namespace {
 
 // The number of non-Search-based accelerators.
-constexpr int kNonSearchAcceleratorsNum = 108;
+constexpr int kNonSearchAcceleratorsNum = 109;
 // The hash of non-Search-based accelerators. See HashAcceleratorData().
 constexpr char kNonSearchAcceleratorsHash[] =
-    "b7713db7db9317e94164c28d23fd041c";
+    "2cada710fecfc1ae0fa22ecad7900f16";
 
 struct Cmp {
   bool operator()(const AcceleratorData& lhs,
diff --git a/ash/components/arc/mojom/file_system.mojom b/ash/components/arc/mojom/file_system.mojom
index 857a3c6..db83ffa 100644
--- a/ash/components/arc/mojom/file_system.mojom
+++ b/ash/components/arc/mojom/file_system.mojom
@@ -448,12 +448,6 @@
   // Establishes full-duplex communication with the host.
   [MinVersion=7] Init@10(pending_remote<FileSystemHost> host_remote) => ();
 
-  // DEPRECATED. Use OpenFileSessionToRead() instead.
-  [MinVersion=1] DEPRECATED_OpenFileToRead@2(string url) => (handle? fd);
-
-  // DEPRECATED. Use OpenFileSessionToWrite() instead.
-  [MinVersion=13] DEPRECATED_OpenFileToWrite@18(string url) => (handle? fd);
-
   // Asks the ContentResolver to get a FD to read the thumbnail of a
   // DocumentsProvider file specified by the URL. The thumbnail should be close
   // in size (width and height) but not necessarily the same as |size_hint|.
diff --git a/ash/components/arc/test/fake_file_system_instance.cc b/ash/components/arc/test/fake_file_system_instance.cc
index 7ea647ca..f7e7340 100644
--- a/ash/components/arc/test/fake_file_system_instance.cc
+++ b/ash/components/arc/test/fake_file_system_instance.cc
@@ -373,54 +373,6 @@
       FROM_HERE, base::BindOnce(std::move(callback), file.mime_type));
 }
 
-void FakeFileSystemInstance::DEPRECATED_OpenFileToRead(
-    const std::string& url,
-    DEPRECATED_OpenFileToReadCallback callback) {
-  DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
-  auto iter = files_.find(url);
-  if (iter == files_.end()) {
-    base::ThreadTaskRunnerHandle::Get()->PostTask(
-        FROM_HERE, base::BindOnce(std::move(callback), mojo::ScopedHandle()));
-    return;
-  }
-  const File& file = iter->second;
-  base::ScopedFD fd =
-      file.seekable == File::Seekable::YES
-          ? CreateRegularFileDescriptor(file, base::File::Flags::FLAG_OPEN |
-                                                  base::File::Flags::FLAG_READ)
-          : CreateStreamFileDescriptorToRead(file.content);
-  mojo::ScopedHandle wrapped_handle =
-      mojo::WrapPlatformHandle(mojo::PlatformHandle(std::move(fd)));
-  DCHECK(wrapped_handle.is_valid());
-  base::ThreadTaskRunnerHandle::Get()->PostTask(
-      FROM_HERE,
-      base::BindOnce(std::move(callback), std::move(wrapped_handle)));
-}
-
-void FakeFileSystemInstance::DEPRECATED_OpenFileToWrite(
-    const std::string& url,
-    DEPRECATED_OpenFileToWriteCallback callback) {
-  DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
-  auto iter = files_.find(url);
-  if (iter == files_.end()) {
-    base::ThreadTaskRunnerHandle::Get()->PostTask(
-        FROM_HERE, base::BindOnce(std::move(callback), mojo::ScopedHandle()));
-    return;
-  }
-  const File& file = iter->second;
-  base::ScopedFD fd =
-      file.seekable == File::Seekable::YES
-          ? CreateRegularFileDescriptor(file, base::File::Flags::FLAG_OPEN |
-                                                  base::File::Flags::FLAG_WRITE)
-          : CreateStreamFileDescriptorToWrite(file.url);
-  mojo::ScopedHandle wrapped_handle =
-      mojo::WrapPlatformHandle(mojo::PlatformHandle(std::move(fd)));
-  DCHECK(wrapped_handle.is_valid());
-  base::ThreadTaskRunnerHandle::Get()->PostTask(
-      FROM_HERE,
-      base::BindOnce(std::move(callback), std::move(wrapped_handle)));
-}
-
 void FakeFileSystemInstance::CloseFileSession(
     const std::string& url_id,
     const std::string& error_message) {
@@ -811,7 +763,7 @@
 void FakeFileSystemInstance::OpenUrlsWithPermissionAndWindowInfo(
     mojom::OpenUrlsRequestPtr request,
     mojom::WindowInfoPtr window_info,
-    DEPRECATED_OpenUrlsWithPermissionCallback callback) {
+    OpenUrlsWithPermissionAndWindowInfoCallback callback) {
   DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
   handled_url_requests_.emplace_back(std::move(request));
 }
diff --git a/ash/components/arc/test/fake_file_system_instance.h b/ash/components/arc/test/fake_file_system_instance.h
index 35f30e4..9e435d6c 100644
--- a/ash/components/arc/test/fake_file_system_instance.h
+++ b/ash/components/arc/test/fake_file_system_instance.h
@@ -84,10 +84,10 @@
     // Content URL of a file.
     std::string url;
 
-    // The content of a file, which can be read by OpenFileToRead().
+    // The content of a file, which can be read by OpenFileSessionToRead().
     // When Seekable.NO is specified and OpenFileSessionToWrite() is called,
     // this |content| will be ignored and bytes written to FD from
-    // OpenFileSessionToWrite() will be read by OpenFileToRead().
+    // OpenFileSessionToWrite() will be read by OpenFileSessionToRead().
     std::string content;
 
     // The MIME type of a file.
@@ -346,13 +346,6 @@
                     MoveDocumentCallback callback) override;
   void Init(mojo::PendingRemote<mojom::FileSystemHost> host,
             InitCallback callback) override;
-  void DEPRECATED_OpenFileToRead(
-      const std::string& url,
-      DEPRECATED_OpenFileToReadCallback callback) override;
-  // TODO(b/220547241): Remove DEPRECATED function from file_system.mojom.
-  void DEPRECATED_OpenFileToWrite(
-      const std::string& url,
-      DEPRECATED_OpenFileToWriteCallback callback) override;
   void CloseFileSession(const std::string& url_id,
                         const std::string& error_message) override;
   void OpenFileSessionToWrite(const GURL& url,
diff --git a/ash/drag_drop/drag_drop_controller.cc b/ash/drag_drop/drag_drop_controller.cc
index 7072ff7b..5da0484 100644
--- a/ash/drag_drop/drag_drop_controller.cc
+++ b/ash/drag_drop/drag_drop_controller.cc
@@ -20,6 +20,7 @@
 #include "ui/aura/client/drag_drop_delegate.h"
 #include "ui/aura/window.h"
 #include "ui/aura/window_event_dispatcher.h"
+#include "ui/aura/window_tracker.h"
 #include "ui/base/cursor/mojom/cursor_type.mojom-shared.h"
 #include "ui/base/data_transfer_policy/data_transfer_endpoint.h"
 #include "ui/base/data_transfer_policy/data_transfer_policy_controller.h"
@@ -590,6 +591,9 @@
 
   const bool is_tab_drag_drop = (tab_drag_drop_delegate_.get() != nullptr);
 
+  DCHECK_EQ(drag_window_, target);
+  aura::WindowTracker window_tracker({drag_window_, drag_window_->parent()});
+
   DropIfAllowed(
       drag_data_.get(), current_drag_info_,
       base::BindOnce(&DragDropController::PerformDrop,
@@ -598,6 +602,16 @@
                      std::move(tab_drag_drop_delegate_),
                      std::move(drag_cancel)));
 
+  // During the drop, the event target (or its ancestors) might have
+  // been destroyed, eg by the client reaction. Adapt the DropTargetEvent
+  // accordingly.
+  //
+  // TODO(https://crbug.com/1160925): Avoid nested RunLoop in exo
+  // DataDevice::OnPerformDrop() - remove the block below when it is fixed.
+  if (!window_tracker.Contains(drag_window_) ||
+      !window_tracker.Contains(drag_window_->parent()))
+    ui::Event::DispatcherApi(&e).set_target(nullptr);
+
   for (aura::client::DragDropClientObserver& observer : observers_)
     observer.OnDragCompleted(e);
   Cleanup();
diff --git a/ash/login/ui/lock_screen_media_controls_view.cc b/ash/login/ui/lock_screen_media_controls_view.cc
index 1ac71d0..bcf9ca5d 100644
--- a/ash/login/ui/lock_screen_media_controls_view.cc
+++ b/ash/login/ui/lock_screen_media_controls_view.cc
@@ -644,12 +644,12 @@
       break;
     }
     case media_session::mojom::MediaSessionImageType::kSourceIcon: {
-      gfx::ImageSkia session_icon =
-          gfx::ImageSkia::CreateFrom1xBitmap(converted_bitmap);
-      if (session_icon.isNull()) {
-        session_icon =
-            gfx::CreateVectorIcon(message_center::kProductIcon,
-                                  kDesiredSourceIconSize, gfx::kChromeIconGrey);
+      auto session_icon = ui::ImageModel::FromImageSkia(
+          gfx::ImageSkia::CreateFrom1xBitmap(converted_bitmap));
+      if (session_icon.IsEmpty()) {
+        session_icon = ui::ImageModel::FromVectorIcon(
+            message_center::kProductIcon, ui::kColorIcon,
+            kDesiredSourceIconSize);
       }
       header_row_->SetAppIcon(session_icon);
     }
diff --git a/ash/login/ui/media_controls_header_view.cc b/ash/login/ui/media_controls_header_view.cc
index a65536ac..b586942d 100644
--- a/ash/login/ui/media_controls_header_view.cc
+++ b/ash/login/ui/media_controls_header_view.cc
@@ -103,7 +103,7 @@
   close_button_->RemoveObserver(this);
 }
 
-void MediaControlsHeaderView::SetAppIcon(const gfx::ImageSkia& img) {
+void MediaControlsHeaderView::SetAppIcon(const ui::ImageModel& img) {
   app_icon_view_->SetImage(img);
 }
 
diff --git a/ash/login/ui/media_controls_header_view.h b/ash/login/ui/media_controls_header_view.h
index b6c11950..4c06f94a 100644
--- a/ash/login/ui/media_controls_header_view.h
+++ b/ash/login/ui/media_controls_header_view.h
@@ -10,6 +10,10 @@
 #include "ui/views/view.h"
 #include "ui/views/view_observer.h"
 
+namespace ui {
+class ImageModel;
+}
+
 namespace views {
 class ImageView;
 class Label;
@@ -29,7 +33,7 @@
 
   ~MediaControlsHeaderView() override;
 
-  void SetAppIcon(const gfx::ImageSkia& img);
+  void SetAppIcon(const ui::ImageModel& img);
   void SetAppName(const std::u16string& name);
 
   void SetForceShowCloseButton(bool force_visible);
diff --git a/ash/public/cpp/accelerators.cc b/ash/public/cpp/accelerators.cc
index 009742b7..b268a0b 100644
--- a/ash/public/cpp/accelerators.cc
+++ b/ash/public/cpp/accelerators.cc
@@ -28,6 +28,7 @@
      CYCLE_BACKWARD_MRU},
     {true, ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_NONE, TOGGLE_OVERVIEW},
     {true, ui::VKEY_BROWSER_SEARCH, ui::EF_NONE, TOGGLE_APP_LIST},
+    {true, ui::VKEY_ALL_APPLICATIONS, ui::EF_NONE, TOGGLE_APP_LIST},
     {true, ui::VKEY_BROWSER_SEARCH, ui::EF_SHIFT_DOWN,
      TOGGLE_APP_LIST_FULLSCREEN},
     {true, ui::VKEY_WLAN, ui::EF_NONE, TOGGLE_WIFI},
diff --git a/ash/public/mojom/accelerator_keys.mojom b/ash/public/mojom/accelerator_keys.mojom
index 6c39526..3be7a20 100644
--- a/ash/public/mojom/accelerator_keys.mojom
+++ b/ash/public/mojom/accelerator_keys.mojom
@@ -216,6 +216,7 @@
   kClose = 0xEC,
   kEmojiPicker = 0xED,
   kDictate = 0xEE,
+  kAllApplications = 0xEF,
 };
 
 // Contains all sources of shortcuts, new sources must added to this enum.
diff --git a/ash/quick_pair/repository/fake_fast_pair_repository.cc b/ash/quick_pair/repository/fake_fast_pair_repository.cc
index e3b69044..3a0216a 100644
--- a/ash/quick_pair/repository/fake_fast_pair_repository.cc
+++ b/ash/quick_pair/repository/fake_fast_pair_repository.cc
@@ -80,6 +80,11 @@
     CheckOptInStatusCallback callback) {}
 
 // Unimplemented.
+void FakeFastPairRepository::DeleteAssociatedDeviceByAccountKey(
+    const std::vector<uint8_t>& account_key,
+    DeleteAssociatedDeviceByAccountKeyCallback callback) {}
+
+// Unimplemented.
 void FakeFastPairRepository::UpdateOptInStatus(
     nearby::fastpair::OptInStatus opt_in_status,
     UpdateOptInStatusCallback callback) {}
diff --git a/ash/quick_pair/repository/fake_fast_pair_repository.h b/ash/quick_pair/repository/fake_fast_pair_repository.h
index 509116b..111f3db 100644
--- a/ash/quick_pair/repository/fake_fast_pair_repository.h
+++ b/ash/quick_pair/repository/fake_fast_pair_repository.h
@@ -65,6 +65,9 @@
   void CheckOptInStatus(CheckOptInStatusCallback callback) override;
   void UpdateOptInStatus(nearby::fastpair::OptInStatus opt_in_status,
                          UpdateOptInStatusCallback callback) override;
+  void DeleteAssociatedDeviceByAccountKey(
+      const std::vector<uint8_t>& account_key,
+      DeleteAssociatedDeviceByAccountKeyCallback callback) override;
 
  private:
   static void SetInstance(FastPairRepository* instance);
diff --git a/ash/quick_pair/repository/fast_pair_repository.h b/ash/quick_pair/repository/fast_pair_repository.h
index f88fb6d8..c48cd30 100644
--- a/ash/quick_pair/repository/fast_pair_repository.h
+++ b/ash/quick_pair/repository/fast_pair_repository.h
@@ -36,6 +36,8 @@
 using CheckOptInStatusCallback =
     base::OnceCallback<void(nearby::fastpair::OptInStatus)>;
 using UpdateOptInStatusCallback = base::OnceCallback<void(bool)>;
+using DeleteAssociatedDeviceByAccountKeyCallback =
+    base::OnceCallback<void(bool)>;
 
 // The entry point for the Repository component in the Quick Pair system,
 // responsible for connecting to back-end services.
@@ -67,6 +69,13 @@
   virtual bool DeleteAssociatedDevice(
       const device::BluetoothDevice* device) = 0;
 
+  // Deletes the associated data for a given |account_key|.
+  // Runs true if a delete is successful for this account key, false
+  // otherwise on |callback|.
+  virtual void DeleteAssociatedDeviceByAccountKey(
+      const std::vector<uint8_t>& account_key,
+      DeleteAssociatedDeviceByAccountKeyCallback callback) = 0;
+
   // Fetches the |device| images and a record of the device ID -> model ID
   // mapping to memory.
   virtual void FetchDeviceImages(scoped_refptr<Device> device) = 0;
diff --git a/ash/quick_pair/repository/fast_pair_repository_impl.cc b/ash/quick_pair/repository/fast_pair_repository_impl.cc
index 74d4311..aebf868f 100644
--- a/ash/quick_pair/repository/fast_pair_repository_impl.cc
+++ b/ash/quick_pair/repository/fast_pair_repository_impl.cc
@@ -298,6 +298,24 @@
   return true;
 }
 
+void FastPairRepositoryImpl::DeleteAssociatedDeviceByAccountKey(
+    const std::vector<uint8_t>& account_key,
+    DeleteAssociatedDeviceByAccountKeyCallback callback) {
+  QP_LOG(INFO) << __func__ << ": Removing device from Footprints.";
+  footprints_fetcher_->DeleteUserDevice(
+      base::HexEncode(account_key),
+      base::BindOnce(
+          &FastPairRepositoryImpl::OnDeleteAssociatedDeviceByAccountKey,
+          weak_ptr_factory_.GetWeakPtr(), std::move(callback)));
+}
+
+void FastPairRepositoryImpl::OnDeleteAssociatedDeviceByAccountKey(
+    DeleteAssociatedDeviceByAccountKeyCallback callback,
+    bool success) {
+  QP_LOG(INFO) << __func__ << ": success=" << success;
+  std::move(callback).Run(success);
+}
+
 void FastPairRepositoryImpl::FetchDeviceImages(scoped_refptr<Device> device) {
   QP_LOG(INFO) << __func__ << ": Fetching device images for model ID "
                << device->metadata_id;
diff --git a/ash/quick_pair/repository/fast_pair_repository_impl.h b/ash/quick_pair/repository/fast_pair_repository_impl.h
index 6782edf..9db97b98 100644
--- a/ash/quick_pair/repository/fast_pair_repository_impl.h
+++ b/ash/quick_pair/repository/fast_pair_repository_impl.h
@@ -63,6 +63,9 @@
   void AssociateAccountKey(scoped_refptr<Device> device,
                            const std::vector<uint8_t>& account_key) override;
   bool DeleteAssociatedDevice(const device::BluetoothDevice* device) override;
+  void DeleteAssociatedDeviceByAccountKey(
+      const std::vector<uint8_t>& account_key,
+      DeleteAssociatedDeviceByAccountKeyCallback callback) override;
   void FetchDeviceImages(scoped_refptr<Device> device) override;
   bool PersistDeviceImages(scoped_refptr<Device> device) override;
   bool EvictDeviceImages(const device::BluetoothDevice* device) override;
@@ -113,6 +116,9 @@
   void CompleteFetchDeviceImages(const std::string& hex_model_id,
                                  DeviceMetadata* device_metadata,
                                  bool has_retryable_error);
+  void OnDeleteAssociatedDeviceByAccountKey(
+      DeleteAssociatedDeviceByAccountKeyCallback callback,
+      bool success);
 
   std::unique_ptr<DeviceMetadataFetcher> device_metadata_fetcher_;
   std::unique_ptr<FootprintsFetcher> footprints_fetcher_;
diff --git a/ash/quick_pair/repository/fast_pair_repository_impl_unittest.cc b/ash/quick_pair/repository/fast_pair_repository_impl_unittest.cc
index ac569d57..637afc0 100644
--- a/ash/quick_pair/repository/fast_pair_repository_impl_unittest.cc
+++ b/ash/quick_pair/repository/fast_pair_repository_impl_unittest.cc
@@ -283,6 +283,27 @@
   ASSERT_FALSE(footprints_fetcher_->ContainsKey(kAccountKey1));
 }
 
+TEST_F(FastPairRepositoryImplTest, DeleteAssociatedDeviceByAccountKey_Valid) {
+  AccountKeyFilter filter(kFilterBytes1, {salt});
+  nearby::fastpair::GetObservedDeviceResponse response;
+  DeviceMetadata metadata(response, gfx::Image());
+
+  auto device = base::MakeRefCounted<Device>(kValidModelId, kTestBLEAddress,
+                                             Protocol::kFastPairInitial);
+  device->set_classic_address(kTestClassicAddress);
+  fast_pair_repository_->AssociateAccountKey(device, kAccountKey1);
+  base::RunLoop().RunUntilIdle();
+  ASSERT_TRUE(footprints_fetcher_->ContainsKey(kAccountKey1));
+
+  base::MockCallback<base::OnceCallback<void(bool)>> callback;
+  EXPECT_CALL(callback, Run(testing::Eq(true))).Times(1);
+  fast_pair_repository_->DeleteAssociatedDeviceByAccountKey(kAccountKey1,
+                                                            callback.Get());
+  base::RunLoop().RunUntilIdle();
+
+  ASSERT_FALSE(footprints_fetcher_->ContainsKey(kAccountKey1));
+}
+
 TEST_F(FastPairRepositoryImplTest, DeleteAssociatedDevice_Invalid) {
   ASSERT_FALSE(fast_pair_repository_->DeleteAssociatedDevice(
       &classic_bluetooth_device_));
diff --git a/ash/quick_pair/repository/mock_fast_pair_repository.h b/ash/quick_pair/repository/mock_fast_pair_repository.h
index 825574c..a1a3077f 100644
--- a/ash/quick_pair/repository/mock_fast_pair_repository.h
+++ b/ash/quick_pair/repository/mock_fast_pair_repository.h
@@ -64,6 +64,11 @@
               (nearby::fastpair::OptInStatus opt_in_status,
                UpdateOptInStatusCallback callback),
               (override));
+  MOCK_METHOD(void,
+              DeleteAssociatedDeviceByAccountKey,
+              (const std::vector<uint8_t>& account_key,
+               DeleteAssociatedDeviceByAccountKeyCallback callback),
+              (override));
 };
 
 }  // namespace quick_pair
diff --git a/ash/strings/ash_strings_ms.xtb b/ash/strings/ash_strings_ms.xtb
index 74aebae..2468e06b 100644
--- a/ash/strings/ash_strings_ms.xtb
+++ b/ash/strings/ash_strings_ms.xtb
@@ -266,6 +266,7 @@
 <translation id="2653659639078652383">Serah</translation>
 <translation id="2658778018866295321">Klik dan seret</translation>
 <translation id="2665788051462227163"><ph name="UNAVAILABLE_APPS_ONE" /> dan <ph name="UNAVAILABLE_APPS_TWO" /> tidak tersedia pada peranti ini.</translation>
+<translation id="2673968385134502798">Permainan</translation>
 <translation id="2678852583403169292">Menu Pilih untuk bercakap</translation>
 <translation id="2689613560355655046">Meja 8</translation>
 <translation id="2700493154570097719">Tetapkan papan kekunci anda</translation>
@@ -673,6 +674,7 @@
 <translation id="5078796286268621944">PIN salah</translation>
 <translation id="5083553833479578423">Buka kunci pelbagai lagi ciri Assistant.</translation>
 <translation id="5106223312672646208">Peribadikan</translation>
+<translation id="5107522548814527560">Web</translation>
 <translation id="5117590920725113268">Tunjukkan bulan seterusnya</translation>
 <translation id="5136175204352732067">Papan kekunci lain disambungkan</translation>
 <translation id="5147567197700016471">Tidak berkunci</translation>
diff --git a/ash/strings/ash_strings_si.xtb b/ash/strings/ash_strings_si.xtb
index acc930f..6b491c6 100644
--- a/ash/strings/ash_strings_si.xtb
+++ b/ash/strings/ash_strings_si.xtb
@@ -266,6 +266,7 @@
 <translation id="2653659639078652383">ඉදිරිපත් කරන්න</translation>
 <translation id="2658778018866295321">ක්ලික් කර අදින්න</translation>
 <translation id="2665788051462227163"><ph name="UNAVAILABLE_APPS_ONE" /> සහ <ph name="UNAVAILABLE_APPS_TWO" /> මෙම උපාංගයෙහි නැත.</translation>
+<translation id="2673968385134502798">ක්‍රීඩා</translation>
 <translation id="2678852583403169292">කථා කිරීමට තෝරන්න මෙනුව</translation>
 <translation id="2689613560355655046">මේසය 8</translation>
 <translation id="2700493154570097719">ඔබගේ යතුරු පුවරුව සකසන්න</translation>
@@ -672,6 +673,7 @@
 <translation id="5078796286268621944">වැරදි PIN</translation>
 <translation id="5083553833479578423">තව සහායක අංග අගුලු හරින්න</translation>
 <translation id="5106223312672646208">පුද්ගලිකකරණය</translation>
+<translation id="5107522548814527560">වෙබය</translation>
 <translation id="5117590920725113268">ඊළඟ මාසය පෙන්වන්න</translation>
 <translation id="5136175204352732067">වෙනස් යතුරු පුවරුවක් සම්බන්ධ කර ඇත</translation>
 <translation id="5147567197700016471">අගුලු හැර ඇත</translation>
diff --git a/ash/strings/ash_strings_ur.xtb b/ash/strings/ash_strings_ur.xtb
index 70eecd69..80cc51d 100644
--- a/ash/strings/ash_strings_ur.xtb
+++ b/ash/strings/ash_strings_ur.xtb
@@ -266,6 +266,7 @@
 <translation id="2653659639078652383">جمع کرائیں</translation>
 <translation id="2658778018866295321">کلک کریں اور گھسیٹیں</translation>
 <translation id="2665788051462227163"><ph name="UNAVAILABLE_APPS_ONE" />، اور <ph name="UNAVAILABLE_APPS_TWO" /> اس آلہ پر موجود نہیں ہیں۔</translation>
+<translation id="2673968385134502798">گیمز</translation>
 <translation id="2678852583403169292">سننے کیلئے منتخب کریں کا مینو</translation>
 <translation id="2689613560355655046">ڈیسک 8</translation>
 <translation id="2700493154570097719">اپنا کی بورڈ سیٹ کریں</translation>
@@ -672,6 +673,7 @@
 <translation id="5078796286268621944">‏غلط PIN</translation>
 <translation id="5083553833479578423">اسسٹنٹ کی مزید خصوصیات کو غیر مقفل کریں۔</translation>
 <translation id="5106223312672646208">ذاتی نوعیت کا بنائیں</translation>
+<translation id="5107522548814527560">ویب</translation>
 <translation id="5117590920725113268">اگلا مہینہ دکھائیں</translation>
 <translation id="5136175204352732067">مختلف کی بورڈ منسلک کر دیا گیا</translation>
 <translation id="5147567197700016471">غیر مقفل</translation>
diff --git a/ash/strings/ash_strings_vi.xtb b/ash/strings/ash_strings_vi.xtb
index 5f04c6c..88a2b78 100644
--- a/ash/strings/ash_strings_vi.xtb
+++ b/ash/strings/ash_strings_vi.xtb
@@ -266,6 +266,7 @@
 <translation id="2653659639078652383">Gửi</translation>
 <translation id="2658778018866295321">Nhấp và kéo</translation>
 <translation id="2665788051462227163"><ph name="UNAVAILABLE_APPS_ONE" /> và <ph name="UNAVAILABLE_APPS_TWO" /> không có trên thiết bị này.</translation>
+<translation id="2673968385134502798">Trò chơi</translation>
 <translation id="2678852583403169292">Trình đơn Chọn để nói</translation>
 <translation id="2689613560355655046">Không gian làm việc 8</translation>
 <translation id="2700493154570097719">Đặt bàn phím</translation>
@@ -672,6 +673,7 @@
 <translation id="5078796286268621944">Mã PIN không chính xác</translation>
 <translation id="5083553833479578423">Mở khóa các tính năng khác của Trợ lý.</translation>
 <translation id="5106223312672646208">Cá nhân hoá</translation>
+<translation id="5107522548814527560">Web</translation>
 <translation id="5117590920725113268">Hiển thị tháng tiếp theo</translation>
 <translation id="5136175204352732067">Đã kết nối bàn phím khác</translation>
 <translation id="5147567197700016471">Đã mở khóa</translation>
diff --git a/ash/system/message_center/notification_swipe_control_view.cc b/ash/system/message_center/notification_swipe_control_view.cc
index d3ca0cb..c456f84 100644
--- a/ash/system/message_center/notification_swipe_control_view.cc
+++ b/ash/system/message_center/notification_swipe_control_view.cc
@@ -62,12 +62,11 @@
     settings_button = std::make_unique<views::ImageButton>(
         base::BindRepeating(&NotificationSwipeControlView::ButtonPressed,
                             base::Unretained(this), ButtonId::kSettings));
-    settings_button->SetImage(
+    settings_button->SetImageModel(
         views::Button::STATE_NORMAL,
-        gfx::CreateVectorIcon(
-            message_center::kNotificationSettingsButtonIcon,
-            message_center_style::kSwipeControlButtonImageSize,
-            gfx::kChromeIconGrey));
+        ui::ImageModel::FromVectorIcon(
+            message_center::kNotificationSettingsButtonIcon, ui::kColorIcon,
+            message_center_style::kSwipeControlButtonImageSize));
     settings_button->SetPreferredSize(
         gfx::Size(message_center_style::kSwipeControlButtonSize,
                   message_center_style::kSwipeControlButtonSize));
@@ -211,12 +210,11 @@
     snooze_button_ = new views::ImageButton(
         base::BindRepeating(&NotificationSwipeControlView::ButtonPressed,
                             base::Unretained(this), ButtonId::kSnooze));
-    snooze_button_->SetImage(
+    snooze_button_->SetImageModel(
         views::Button::STATE_NORMAL,
-        gfx::CreateVectorIcon(
-            message_center::kNotificationSnoozeButtonIcon,
-            message_center_style::kSwipeControlButtonImageSize,
-            gfx::kChromeIconGrey));
+        ui::ImageModel::FromVectorIcon(
+            message_center::kNotificationSnoozeButtonIcon, ui::kColorIcon,
+            message_center_style::kSwipeControlButtonImageSize));
     snooze_button_->SetImageHorizontalAlignment(
         views::ImageButton::ALIGN_CENTER);
     snooze_button_->SetImageVerticalAlignment(views::ImageButton::ALIGN_MIDDLE);
diff --git a/build/OWNERS.setnoparent b/build/OWNERS.setnoparent
index 98f3aed..ec033cf 100644
--- a/build/OWNERS.setnoparent
+++ b/build/OWNERS.setnoparent
@@ -45,7 +45,7 @@
 # Chrome and Chrome OS).
 # The rules are documented at:
 # https://sites.google.com/a/chromium.org/dev/developers/how-tos/enterprise/adding-new-policies
-file://components/policy/resources/ENTERPRISE_POLICY_OWNERS
+file://components/policy/ENTERPRISE_POLICY_OWNERS
 
 # This restriction is in place due to the complicated compliance regulations
 # around this code.
diff --git a/build/fuchsia/linux.sdk.sha1 b/build/fuchsia/linux.sdk.sha1
index f994a51..47cdd716 100644
--- a/build/fuchsia/linux.sdk.sha1
+++ b/build/fuchsia/linux.sdk.sha1
@@ -1 +1 @@
-7.20220320.3.1
+7.20220321.0.1
diff --git a/build/fuchsia/linux_internal.sdk.sha1 b/build/fuchsia/linux_internal.sdk.sha1
index f994a51..84d61521 100644
--- a/build/fuchsia/linux_internal.sdk.sha1
+++ b/build/fuchsia/linux_internal.sdk.sha1
@@ -1 +1 @@
-7.20220320.3.1
+7.20220321.1.1
diff --git a/build/fuchsia/mac.sdk.sha1 b/build/fuchsia/mac.sdk.sha1
index f994a51..47cdd716 100644
--- a/build/fuchsia/mac.sdk.sha1
+++ b/build/fuchsia/mac.sdk.sha1
@@ -1 +1 @@
-7.20220320.3.1
+7.20220321.0.1
diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn
index 5eec2b8..6a696e81 100644
--- a/chrome/BUILD.gn
+++ b/chrome/BUILD.gn
@@ -1552,6 +1552,7 @@
       copy_data_to_bundle = true
     } else {
       output_dir = root_out_dir
+      mark_as_data = true
     }
 
     if (enable_resource_allowlist_generation) {
diff --git a/chrome/VERSION b/chrome/VERSION
index a92bbd6..a72d9a0 100644
--- a/chrome/VERSION
+++ b/chrome/VERSION
@@ -1,4 +1,4 @@
 MAJOR=102
 MINOR=0
-BUILD=4956
+BUILD=4957
 PATCH=0
diff --git a/chrome/android/features/autofill_assistant/javatests/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantActionsCarouselUiTest.java b/chrome/android/features/autofill_assistant/javatests/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantActionsCarouselUiTest.java
index 337c0ca..cc3b36be 100644
--- a/chrome/android/features/autofill_assistant/javatests/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantActionsCarouselUiTest.java
+++ b/chrome/android/features/autofill_assistant/javatests/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantActionsCarouselUiTest.java
@@ -22,6 +22,7 @@
 import android.view.ContextThemeWrapper;
 import android.widget.LinearLayout;
 
+import androidx.recyclerview.widget.RecyclerView;
 import androidx.test.filters.MediumTest;
 
 import org.junit.Before;
@@ -170,6 +171,72 @@
         onView(withText("Cancel")).check(matches(isDisplayed()));
     }
 
+    /** Tests replacing a close button with a cancel button re-binds the view holder */
+    @Test
+    @MediumTest
+    public void testReplaceCancelWithClose() throws Exception {
+        AssistantCarouselModel model =
+                TestThreadUtils.runOnUiThreadBlocking(AssistantCarouselModel::new);
+        AssistantActionsCarouselCoordinator coordinator = createCoordinator(model);
+
+        AssistantChip close = AssistantChip.createHairlineAssistantChip(
+                AssistantChip.Icon.CLEAR, "", false, true, true, "", "close");
+        AssistantChip cancel = AssistantChip.createHairlineAssistantChip(
+                AssistantChip.Icon.CLEAR, "", false, true, true, "", "cancel");
+
+        // This counts are in an array so that they can be edited in the observer.
+        final int added_index = 0;
+        final int changed_index = 1;
+        final int[] counts = {0, 0};
+
+        TestThreadUtils.runOnUiThreadBlocking(() -> {
+            coordinator.getView().getAdapter().registerAdapterDataObserver(
+                    new RecyclerView.AdapterDataObserver() {
+                        @Override
+                        public void onItemRangeInserted(int positionStart, int itemCount) {
+                            assertThat(positionStart, is(0));
+                            assertThat(itemCount, is(1));
+                            ++counts[added_index];
+                        }
+                        @Override
+                        public void onItemRangeChanged(int positionStart, int itemCount) {
+                            assertThat(positionStart, is(0));
+                            assertThat(itemCount, is(1));
+                            ++counts[changed_index];
+                        }
+                    });
+            model.set(AssistantCarouselModel.CHIPS, Collections.singletonList(cancel));
+        });
+        assertThat(model.get(AssistantCarouselModel.CHIPS).size(), is(1));
+        assertThat(counts[added_index], is(1));
+        assertThat(counts[changed_index], is(0));
+        assertThat(coordinator.getView().getAdapter().getItemCount(), is(1));
+
+        // Setting to cancel again doesn't change anything
+        TestThreadUtils.runOnUiThreadBlocking(() -> {
+            model.set(AssistantCarouselModel.CHIPS, Collections.singletonList(cancel));
+        });
+        assertThat(counts[added_index], is(1));
+        assertThat(counts[changed_index], is(0));
+        assertThat(coordinator.getView().getAdapter().getItemCount(), is(1));
+
+        // Changing button to close will re-bind the button
+        TestThreadUtils.runOnUiThreadBlocking(() -> {
+            model.set(AssistantCarouselModel.CHIPS, Collections.singletonList(close));
+        });
+        assertThat(counts[added_index], is(1));
+        assertThat(counts[changed_index], is(1));
+        assertThat(coordinator.getView().getAdapter().getItemCount(), is(1));
+
+        // Setting to close again won't change anything.
+        TestThreadUtils.runOnUiThreadBlocking(() -> {
+            model.set(AssistantCarouselModel.CHIPS, Collections.singletonList(close));
+        });
+        assertThat(counts[added_index], is(1));
+        assertThat(counts[changed_index], is(1));
+        assertThat(coordinator.getView().getAdapter().getItemCount(), is(1));
+    }
+
     /**
      * Tests the change between two chip configurations:
      * X           Test_2
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/invalidation/SessionsInvalidationManager.java b/chrome/android/java/src/org/chromium/chrome/browser/invalidation/SessionsInvalidationManager.java
index e3f336e2..a323d91 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/invalidation/SessionsInvalidationManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/invalidation/SessionsInvalidationManager.java
@@ -11,7 +11,6 @@
 import org.chromium.base.ApplicationState;
 import org.chromium.base.ApplicationStatus;
 import org.chromium.base.ThreadUtils;
-import org.chromium.chrome.browser.flags.ChromeFeatureList;
 import org.chromium.chrome.browser.ntp.ForeignSessionHelper;
 import org.chromium.chrome.browser.profiles.Profile;
 
@@ -32,15 +31,6 @@
             (int) DateUtils.SECOND_IN_MILLIS * 20;
 
     /**
-     * The amount of time after the RecentTabsPage is closed to unregister for session sync
-     * invalidations. The delay is long to avoid registering and unregistering a lot if the user
-     * visits the RecentTabsPage a lot.
-     * Only applied if the feature SyncUseSessionsUnregisterDelay is enabled.
-     */
-    static final int UNREGISTER_FOR_SESSION_SYNC_INVALIDATIONS_DELAY_MS =
-            (int) DateUtils.HOUR_IN_MILLIS;
-
-    /**
      * Used to schedule tasks to enable and disable session sync invalidations.
      */
     private final ResumableDelayedTaskRunner mEnableSessionInvalidationsRunner;
@@ -99,11 +89,7 @@
     public void onRecentTabsPageClosed() {
         --mNumRecentTabPages;
         if (mNumRecentTabPages == 0) {
-            setSessionInvalidationsEnabled(false,
-                    ChromeFeatureList.isEnabled(
-                            ChromeFeatureList.SYNC_USE_SESSIONS_UNREGISTER_DELAY)
-                            ? UNREGISTER_FOR_SESSION_SYNC_INVALIDATIONS_DELAY_MS
-                            : 0);
+            setSessionInvalidationsEnabled(false, 0);
         }
     }
 
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/signin/IdentityManagerIntegrationTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/signin/IdentityManagerIntegrationTest.java
index d5cba9bf..58a96c6 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/signin/IdentityManagerIntegrationTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/signin/IdentityManagerIntegrationTest.java
@@ -185,6 +185,7 @@
 
     @Test
     @MediumTest
+    @DisabledTest(message = "crbug.com/1294295")
     public void testUpdateAccountListTwoAccountsThenRemoveAll() {
         // Add accounts.
         mAccountManagerTestRule.addAccountAndWaitForSeeding(TEST_ACCOUNT1);
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/site_settings/SiteSettingsTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/site_settings/SiteSettingsTest.java
index 48d70d5..5dc2568 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/site_settings/SiteSettingsTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/site_settings/SiteSettingsTest.java
@@ -36,6 +36,7 @@
 import org.chromium.base.test.util.DisableIf;
 import org.chromium.base.test.util.DisabledTest;
 import org.chromium.base.test.util.Feature;
+import org.chromium.base.test.util.FlakyTest;
 import org.chromium.chrome.browser.browsing_data.BrowsingDataBridge;
 import org.chromium.chrome.browser.browsing_data.BrowsingDataType;
 import org.chromium.chrome.browser.browsing_data.TimePeriod;
@@ -524,6 +525,7 @@
     @Test
     @SmallTest
     @Feature({"Preferences"})
+    @FlakyTest(message = "https://crbug.com/1112409")
     public void testClearDomainCookies() throws Exception {
         final String url = mPermissionRule.getURLWithHostName(
                 "test.example.com", "/chrome/test/data/android/cookie.html");
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
index c869d4e6..09695289 100644
--- a/chrome/app/generated_resources.grd
+++ b/chrome/app/generated_resources.grd
@@ -12088,9 +12088,6 @@
         other {# open windows}
       }
     </message>
-    <message name="IDS_INCOGNITO_PROFILE_MENU_CREATE_SHORTCUT_BUTTON" desc="Label of the button to create a desktop shortcut for Incognito mode.">
-      Create shortcut
-    </message>
     <message name="IDS_INCOGNITO_PROFILE_MENU_CLOSE_BUTTON" desc="The text of the button offering to close all Incognito windows.">
       Exit Incognito
     </message>
diff --git a/chrome/app/generated_resources_grd/IDS_INCOGNITO_PROFILE_MENU_CREATE_SHORTCUT_BUTTON.png.sha1 b/chrome/app/generated_resources_grd/IDS_INCOGNITO_PROFILE_MENU_CREATE_SHORTCUT_BUTTON.png.sha1
deleted file mode 100644
index 90c6af5..0000000
--- a/chrome/app/generated_resources_grd/IDS_INCOGNITO_PROFILE_MENU_CREATE_SHORTCUT_BUTTON.png.sha1
+++ /dev/null
@@ -1 +0,0 @@
-94bf3c59a0ed0ba39d2a2c8629c81d2cc1b77504
\ No newline at end of file
diff --git a/chrome/app/resources/generated_resources_bs.xtb b/chrome/app/resources/generated_resources_bs.xtb
index a99a393..cc71ce53 100644
--- a/chrome/app/resources/generated_resources_bs.xtb
+++ b/chrome/app/resources/generated_resources_bs.xtb
@@ -1438,7 +1438,7 @@
 <translation id="2349896577940037438">Ako vam je uključena postavka dodatna Aktivnost na webu i u aplikacijama, ti podaci će možda biti sačuvani na vašem Google računu. Na stranici account.google.com možete vidjeti svoje podatke, izbrisati ih te promijeniti postavke računa.</translation>
 <translation id="2350133097354918058">Ponovo učitano</translation>
 <translation id="2350182423316644347">Inicijalizacija aplikacije...</translation>
-<translation id="235028206512346451">Ako se odmaknete od uređaja, zaslon će se automatski zaključati. Zaslon će dulje ostati aktivan dok ste ispred uređaja. Ako ne koristite zaključan zaslon, uređaj se neće zaključati, nego će prijeći u stanje mirovanja.</translation>
+<translation id="235028206512346451">Ako se udaljite od uređaja, ekran će se automatski zaključati. Kada se nalazite ispred uređaja, ekran se duže vrijeme neće zaključati. Ako ne koristite zaključavanje ekrana, uređaj se neće zaključati već će preći u stanje mirovanja.</translation>
 <translation id="2352495879228166246">{NUM_ITEMS,plural, =1{1 stavka}one{{NUM_ITEMS} stavka}few{{NUM_ITEMS} stavke}other{{NUM_ITEMS} stavki}}</translation>
 <translation id="2352662711729498748">&lt; 1 MB</translation>
 <translation id="2352810082280059586">Napomene za zaključani zaslon automatski se spremaju u aplikaciju <ph name="LOCK_SCREEN_APP_NAME" />. Najnovija napomena ostat će na zaključanom zaslonu.</translation>
@@ -1982,7 +1982,7 @@
 <translation id="2886771036282400576">• <ph name="PERMISSION" /></translation>
 <translation id="288734198558082692"><ph name="DEVICE" /> i još <ph name="NUMBER_OF_DEVICES" /></translation>
 <translation id="2889064240420137087">Otvori link koristeći…</translation>
-<translation id="2891566119238851894">Otvorite pretraživanje na bočnoj ploči. Pretraživanje nije otvoreno na bočnoj ploči.</translation>
+<translation id="2891566119238851894">Otvaranje pretraživanja na bočnoj ploči. Pretraživanje nije otvoreno na bočnoj ploči.</translation>
 <translation id="2891922230654533301">Želite li se svojim uređajem prijaviti u aplikaciju <ph name="APP_NAME" />?</translation>
 <translation id="2893013536106749396">Odaberite kartice koje će vas informirati o onom što vam je najvažnije</translation>
 <translation id="2893168226686371498">Zadani preglednik</translation>
@@ -2746,7 +2746,7 @@
 <translation id="3677959414150797585">Obuhvata aplikacije, web stranice i drugi sadržaj. Statistika će se slati u svrhu poboljšanja prijedloga samo ako ste odabrali da dijelite podatke o korištenju.</translation>
 <translation id="3678156199662914018">Ekstenzija: <ph name="EXTENSION_NAME" /></translation>
 <translation id="3678188444105291936">Stranice koje prikazujete u ovom prozoru se neće prikazivati u historiji preglednika i neće, nakon odjave, ostaviti na računaru druge tragove, kao što su kolačići. Fajlovi koje preuzimate i oznake koje kreirate se neće zadržati.</translation>
-<translation id="368019053277764111">Otvori pretraživanje na bočnoj ploči</translation>
+<translation id="368019053277764111">Otvorite pretraživanje na bočnoj ploči</translation>
 <translation id="3680683624079082902">Glas pretvaranja teksta u govor</translation>
 <translation id="3681311097828166361">Hvala na povratnim informacijama. Trenutno ste van mreže i vaš će se izvještaj poslati kasnije.</translation>
 <translation id="3682824389861648626">Prag pomjeranja</translation>
@@ -4859,7 +4859,7 @@
 <translation id="5799478978078236781">Primajte savjete, ponude i ažuriranja za uređaj <ph name="DEVICE_TYPE" /> i dijelite povratne informacije.</translation>
 <translation id="5799508265798272974">Linux virtuelni uređaj: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">Odredišna datoteka skraćena je ili uklonjena nakon posljednjeg preuzimanja.</translation>
-<translation id="5800351251499368110">Zatvorite pretraživanje na bočnoj ploči. Pretraživanje je otvoreno na bočnoj ploči.</translation>
+<translation id="5800351251499368110">Zatvaranje pretraživanja na bočnoj ploči. Pretraživanje je otvoreno na bočnoj ploči.</translation>
 <translation id="5801568494490449797">Postavke</translation>
 <translation id="5804241973901381774">Odobrenja</translation>
 <translation id="5805697420284793859">Upravitelj prozora</translation>
@@ -6375,7 +6375,7 @@
 <translation id="7356908624372060336">Zapisnici mreže</translation>
 <translation id="735745346212279324">VPN veza je prekinuta</translation>
 <translation id="7358324924540718595">Uspomene su skrivene za danas</translation>
-<translation id="7358338787722390626">Zatvori pretraživanje na bočnoj ploči</translation>
+<translation id="7358338787722390626">Zatvaranje pretraživanja na bočnoj ploči</translation>
 <translation id="735994578317267253">Pristupite svojim aplikacijama, postavkama i drugom sadržaju na bilo kojem ChromeOS uređaju</translation>
 <translation id="7360233684753165754"><ph name="PAGE_NUMBER" /> str. na štampaču <ph name="PRINTER_NAME" /></translation>
 <translation id="7361297102842600584">Kliknite desnom tipkom da pokrenete dodatak <ph name="PLUGIN_NAME" /></translation>
diff --git a/chrome/app/resources/generated_resources_da.xtb b/chrome/app/resources/generated_resources_da.xtb
index 46e00a65..f8bf7e2 100644
--- a/chrome/app/resources/generated_resources_da.xtb
+++ b/chrome/app/resources/generated_resources_da.xtb
@@ -63,6 +63,7 @@
 <translation id="1061130374843955397">Velkommen til din <ph name="DEVICE_TYPE" /></translation>
 <translation id="1061373870045429865">Opret QR-kode for dette link</translation>
 <translation id="1061904396131502319">Det er snart tid til en pause</translation>
+<translation id="1062628064301375934">Hjælp os med at skabe et mere privat internet</translation>
 <translation id="1066613507389053689">Chrome OS skal opdateres</translation>
 <translation id="1067048845568873861">Oprettet</translation>
 <translation id="1067922213147265141">Andre Google-tjenester</translation>
@@ -588,6 +589,7 @@
 <translation id="1572139610531470719"><ph name="WINDOW_TITLE" /> (gæst)</translation>
 <translation id="1572266655485775982">Aktivér Wi-Fi</translation>
 <translation id="1572876035008611720">Angiv din mailadresse</translation>
+<translation id="1573632872794824374">Lad os afprøve nye funktioner, der giver websites mulighed for at levere den samme browseroplevelse som før, men uden at bruge så mange af dine oplysninger</translation>
 <translation id="1575741822946219011">Sprog og indtastningsmetoder</translation>
 <translation id="1576594961618857597">Hvid standardavatar</translation>
 <translation id="1578558981922970608">Tving til at lukke</translation>
@@ -1386,6 +1388,7 @@
     <ph name="FOOTER_MESSAGE" /></translation>
 <translation id="2307630946657910723">Søg på en del af siden med <ph name="VISUAL_SEARCH_PROVIDER" /></translation>
 <translation id="2309620859903500144">Dette website er blevet blokeret fra at få adgang til dine bevægelses- eller lyssensorer.</translation>
+<translation id="2311721625890389967">↓</translation>
 <translation id="2312219318583366810">Webadresse</translation>
 <translation id="2314165183524574721">Den aktuelle indstilling for synlighed er Skjult</translation>
 <translation id="2314774579020744484">Anvendt sprog ved oversættelse af sider</translation>
@@ -1653,6 +1656,7 @@
 <translation id="2553340429761841190"><ph name="PRODUCT_NAME" /> kunne ikke oprette forbindelse til <ph name="NETWORK_ID" />. Vælg et andet netværk, eller prøv igen.</translation>
 <translation id="2553440850688409052">Skjul dette plugin</translation>
 <translation id="2554553592469060349">Den valgte fil er for stor (maksimal størrelse: 3 MB).</translation>
+<translation id="2558569818338050235">Din browserhistorik påvirker, hvilke annoncer du ser</translation>
 <translation id="2558896001721082624">Vis altid indstillingerne for hjælpefunktioner i systemmenuen</translation>
 <translation id="2564520396658920462">Kørsel af JavaScript via AppleScript er deaktiveret. Du kan aktivere funktionen ved at gå til menubjælken og vælge Se &gt; Udvikler &gt; Tillad JavaScript via Apple Events. Få flere oplysninger på https://support.google.com/chrome/?p=applescript</translation>
 <translation id="2564653188463346023">Forbedret stavekontrol</translation>
@@ -1786,6 +1790,7 @@
 <translation id="2709516037105925701">AutoFyld</translation>
 <translation id="2710101514844343743">Brugs- og diagnostikdata</translation>
 <translation id="271033894570825754">Nyt</translation>
+<translation id="2711073837061989559">Prøveperioder</translation>
 <translation id="2712173769900027643">Spørg om tilladelse</translation>
 <translation id="2713106313042589954">Slå kamera fra</translation>
 <translation id="2713444072780614174">Hvid</translation>
@@ -1982,6 +1987,7 @@
 <translation id="2889064240420137087">Åbn link med...</translation>
 <translation id="2891566119238851894">Åbn søgning i sidepanel. Søgningen er ikke åben i sidepanelet.</translation>
 <translation id="2891922230654533301">Vil du logge ind på <ph name="APP_NAME" /> med din enhed?</translation>
+<translation id="2893013536106749396">Vælg kort, der holder dig orienteret om ting, der er vigtige for dig</translation>
 <translation id="2893168226686371498">Standardbrowser</translation>
 <translation id="2893180576842394309">Google kan bruge din historik til at tilpasse Søgning og andre Google-tjenester</translation>
 <translation id="2894757982205307093">Ny fane i gruppe</translation>
@@ -2095,6 +2101,7 @@
 <translation id="3003623123441819449">CSS-cache</translation>
 <translation id="3003828226041301643">Enheden kunne ikke knyttes til domænet. Sørg for, at din konto har tilladelse til at tilføje enheder.</translation>
 <translation id="3003967365858406397">Din <ph name="PHONE_NAME" /> opretter en privat Wi-Fi-forbindelse.</translation>
+<translation id="3005574332301273731">Vis ikke</translation>
 <translation id="3006881078666935414">Ingen brugsdata</translation>
 <translation id="3007771295016901659">Dupliker fane</translation>
 <translation id="3008232374986381779">Kør Linux-værktøjer, -redigeringsværktøjer og -IDE'er på din <ph name="DEVICE_TYPE" />. <ph name="LINK_BEGIN" />Få flere oplysninger<ph name="LINK_END" /></translation>
@@ -2151,6 +2158,7 @@
 <translation id="3053013834507634016">Brug af certifikatnøgle</translation>
 <translation id="3053273573829329829">Aktivér brugerens pinkode</translation>
 <translation id="3054766768827382232">Deaktivering af denne indstilling kan forbedre dine eksterne enheders ydeevne, men kan også kompromittere dine personoplysninger, hvis nogen får uautoriseret adgang til dem.</translation>
+<translation id="3055113921564083271">Interesser, du har fjernet</translation>
 <translation id="3055590424724986000">Med en udbyder efter eget valg</translation>
 <translation id="3058498974290601450">Du kan til enhver tid aktivere synkronisering i indstillingerne</translation>
 <translation id="3058517085907878899">Navngiv enheden</translation>
@@ -2268,6 +2276,7 @@
 <translation id="3183944777708523606">Skærmopstilling</translation>
 <translation id="3184536091884214176">Konfigurer eller administrer CUPS-printere. <ph name="LINK_BEGIN" />Få flere oplysninger<ph name="LINK_END" /></translation>
 <translation id="3185014249447200271">{NUM_APPS,plural, =1{Denne app er blokeret}one{Denne app er blokeret}other{Nogle apps er blokeret}}</translation>
+<translation id="3187472288455401631">Ad measurement</translation>
 <translation id="3188257591659621405">Mine filer</translation>
 <translation id="3188465121994729530">Glidende gennemsnit</translation>
 <translation id="3189187154924005138">Stor markør</translation>
@@ -2637,6 +2646,7 @@
 <translation id="3575121482199441727">Tillad for dette website</translation>
 <translation id="3577745545227000795">Indsamling af hardwaredata for <ph name="DEVICE_OS" /></translation>
 <translation id="3578594933904494462">Indholdet på denne fane deles.</translation>
+<translation id="3578874072190212775">Hjælp websites med at bekæmpe svindel og skelne mellem bots og mennesker</translation>
 <translation id="3581605050355435601">Konfigurer IP-adressen automatisk</translation>
 <translation id="3582057310199111521">Adgangskoden blev angivet på et vildledende website og blev fundet i et brud på datasikkerheden</translation>
 <translation id="3584169441612580296">Læs og rediger billeder, musik og andre medier på din computer</translation>
@@ -3089,6 +3099,7 @@
 <translation id="3979748722126423326">Aktivér <ph name="NETWORKDEVICE" /></translation>
 <translation id="3981058120448670012">Andre enheder i nærheden får vist navnet <ph name="DEVICE_NAME" /> i <ph name="REMAINING_TIME" />...</translation>
 <translation id="3981760180856053153">Den indtastede filtype er ugyldig.</translation>
+<translation id="3981902534690264083">Annoncører kan få indblik i, hvordan annoncer klarer sig</translation>
 <translation id="3982375475032951137">Konfigurer din browser ved et hjælp af et par enkle trin</translation>
 <translation id="3983400541576569538">Data fra visse apps går muligvis tabt</translation>
 <translation id="3983586614702900908">enheder fra en ukendt leverandør</translation>
@@ -4316,6 +4327,7 @@
 <translation id="5265797726250773323">Der opstod en fejl ved installationen</translation>
 <translation id="5266113311903163739">Fejl under import af certificeringsautoritet</translation>
 <translation id="526622169288322445">Flere handlinger for <ph name="ADDRESS_SUMMARY" /></translation>
+<translation id="5268373933383932086">Din side på din måde</translation>
 <translation id="5269977353971873915">Udskrift mislykkedes</translation>
 <translation id="5273806377963980154">Rediger websitets webadresse</translation>
 <translation id="5275352920323889391">Hund</translation>
@@ -5129,6 +5141,7 @@
 <translation id="6080689532560039067">Se systemklokkeslættet</translation>
 <translation id="6082877069782862752">Tastaturtilknytning</translation>
 <translation id="608531959444400877"><ph name="WINDOW_TITLE" /> – del af en unavngiven gruppe</translation>
+<translation id="6085457109149794212">Se alle kortmuligheder i Tilpas Chrome</translation>
 <translation id="6085886413119427067">Bestemmer, hvordan der skal oprettes forbindelse til websites via en sikker forbindelse</translation>
 <translation id="6086004606538989567">Den konto, du har bekræftet, har ikke adgangstilladelse til denne enhed.</translation>
 <translation id="6086846494333236931">Installeret af din administrator</translation>
@@ -5582,6 +5595,7 @@
 <translation id="6537613839935722475">Navnet må indeholde bogstaver, tal og bindestreger (-)</translation>
 <translation id="6538098297809675636">Koden kunne ikke registreres</translation>
 <translation id="653920215766444089">Søger efter pegeenhed</translation>
+<translation id="653983593749614101">Genoptager...</translation>
 <translation id="654039047105555694"><ph name="BEGIN_BOLD" />Bemærk:<ph name="END_BOLD" /> Aktivér kun, hvis du ved hvad du gør, eller hvis du er blevet bedt om at gøre det, eftersom dataregistrering kan reducere ydeevnen.</translation>
 <translation id="6540672086173674880">Google kan bruge din browserhistorik til at tilpasse Søgning og andre Google-tjenester. Du kan til enhver tid ændre dette på myaccount.google.com/activitycontrols/search</translation>
 <translation id="6541638731489116978">Der er blokeret for adgang til dine bevægelsessensorer på dette website.</translation>
@@ -5797,6 +5811,7 @@
 <translation id="6767566652486411142">Vælg et andet sprog...</translation>
 <translation id="6767639283522617719">Enheden kunne ikke knyttes til domænet. Sørg for, at indstillingerne er angivet korrekt for organisationsenheden.</translation>
 <translation id="6768034047581882264">Har ikke tilladelse til at vise usikkert indhold</translation>
+<translation id="6770042910635026163">De websites, du besøger, som definerer dine interesser</translation>
 <translation id="6770602306803890733">Forbedrer din og alle andres sikkerhed på nettet</translation>
 <translation id="6771503742377376720">Er en certificeringsautoritet</translation>
 <translation id="6775163072363532304">Tilgængelige enheder vises her.</translation>
@@ -6355,6 +6370,7 @@
 <translation id="7347943691222276892">Klik for at navigere væk fra <ph name="SUBPAGE_TITLE" />.</translation>
 <translation id="7348093485538360975">Skærmtastatur</translation>
 <translation id="7349010927677336670">Videostabilitet</translation>
+<translation id="7352531447904559593">Få flere oplysninger om Browserbaseret annoncetilpasning</translation>
 <translation id="7352651011704765696">Noget gik galt</translation>
 <translation id="7353261921908507769">Dine kontakter kan dele med dig, når de er i nærheden. Overførsler starter først, når du har accepteret dem.</translation>
 <translation id="735361434055555355">Installerer Linux...</translation>
@@ -6645,6 +6661,7 @@
 <translation id="7631887513477658702">&amp;Åbn altid filer af denne type</translation>
 <translation id="7632948528260659758">Følgende kioskapps kan ikke opdateres:</translation>
 <translation id="7633724038415831385">Dette er den eneste gang, du skal vente på en opdatering. På Chromebooks foregår softwareopdateringer i baggrunden.</translation>
+<translation id="7634280112532283638">Reducering af spam og svindel</translation>
 <translation id="7634566076839829401">Noget gik galt. Prøv igen.</translation>
 <translation id="7635048370253485243">Fastgjort af din administrator</translation>
 <translation id="763632859238619983">Tillad ikke, at websites installerer betalingshandlere</translation>
@@ -6996,6 +7013,7 @@
 <translation id="7957074856830851026">Se enhedsoplysninger som f.eks. serienummer eller aktiv-id</translation>
 <translation id="7957615753207896812">Åbn enhedens tastaturindstillinger</translation>
 <translation id="7959074893852789871">Filen indeholdt flere certifikater, hvoraf nogle af dem ikke blev importeret:</translation>
+<translation id="7959157064403954786">Prøv mere gennemskuelige annoncer</translation>
 <translation id="7959665254555683862">Ny inkognitofane</translation>
 <translation id="7961015016161918242">Aldrig</translation>
 <translation id="7963001036288347286">Acceleration af touchplade</translation>
@@ -7683,6 +7701,7 @@
 <translation id="866611985033792019">Hav tillid til dette certifikat i forbindelse med identifikation af e-mailbrugere</translation>
 <translation id="8666584013686199826">Spørg, når et website vil have adgang til USB-enheder</translation>
 <translation id="8667328578593601900"><ph name="FULLSCREEN_ORIGIN" /> er nu i fuld skærm og har deaktiveret din musemarkør.</translation>
+<translation id="8667760277771450375">Vi undersøger mulighederne for at begrænse sporing på tværs af websites og samtidig give websites mulighed for at forhindre annoncespam og -svindel.</translation>
 <translation id="8668052347555487755">Farvetilstand</translation>
 <translation id="8669284339312441707">Varm</translation>
 <translation id="8670537393737592796">Installer <ph name="APP_NAME" /> ved at klikke på knappen til installation, så du hurtigt kan vende tilbage hertil</translation>
@@ -8286,6 +8305,7 @@
 <translation id="968000525894980488">Aktivér Google Play-tjenester.</translation>
 <translation id="968037381421390582">Ind&amp;sæt, og søg efter "<ph name="SEARCH_TERMS" />"</translation>
 <translation id="969096075394517431">Skift sprog</translation>
+<translation id="969573236494556070">Begræns deling mellem websites</translation>
 <translation id="970047733946999531">{NUM_TABS,plural, =1{1 fane}one{# faner}other{# faner}}</translation>
 <translation id="971510864672937292">Vil du rydde websitedata og tilladelser for <ph name="SITE_NAME" /> samt alle websites under det?</translation>
 <translation id="971774202801778802">Bogmærkets webadresse</translation>
diff --git a/chrome/app/resources/generated_resources_ms.xtb b/chrome/app/resources/generated_resources_ms.xtb
index 4bdea1bf..e1257151 100644
--- a/chrome/app/resources/generated_resources_ms.xtb
+++ b/chrome/app/resources/generated_resources_ms.xtb
@@ -1436,6 +1436,7 @@
 <translation id="2349896577940037438">Jika tetapan Aktiviti Web &amp; Apl tambahan anda dihidupkan, data ini mungkin disimpan pada Akaun Google anda. Anda dapat melihat data anda, memadamkan data dan menukar tetapan akaun melalui account.google.com.</translation>
 <translation id="2350133097354918058">Dimuat semula</translation>
 <translation id="2350182423316644347">Memulakan aplikasi...</translation>
+<translation id="235028206512346451">Jika anda menjauhi peranti anda, skrin anda akan dikunci secara automatik. Apabila anda berada di hadapan peranti, skrin anda akan tetap berjaga lebih lama. Jika anda tidak menggunakan skrin kunci, peranti anda akan tidur dan bukannya kunci.</translation>
 <translation id="2352495879228166246">{NUM_ITEMS,plural, =1{1 item}other{{NUM_ITEMS} item}}</translation>
 <translation id="2352662711729498748">&lt;1 MB</translation>
 <translation id="2352810082280059586">Nota kunci skrin disimpan secara automatik ke <ph name="LOCK_SCREEN_APP_NAME" />. Nota terbaharu anda akan kekal pada kunci skrin.</translation>
@@ -1978,6 +1979,7 @@
 <translation id="2886771036282400576">• <ph name="PERMISSION" /></translation>
 <translation id="288734198558082692"><ph name="DEVICE" /> dan <ph name="NUMBER_OF_DEVICES" /> yang lain</translation>
 <translation id="2889064240420137087">Buka pautan dengan...</translation>
+<translation id="2891566119238851894">Buka carian pada panel sisi. Carian tidak dibuka pada panel sisi.</translation>
 <translation id="2891922230654533301">Gunakan peranti anda untuk log masuk ke <ph name="APP_NAME" />?</translation>
 <translation id="2893168226686371498">Penyemak imbas lalai</translation>
 <translation id="2893180576842394309">Google boleh menggunakan sejarah anda untuk memperibadikan Carian dan perkhidmatan Google yang lain</translation>
@@ -2736,6 +2738,7 @@
 <translation id="3677959414150797585">Termasuk apl, halaman web dan pelbagai lagi. Menghantar statistik untuk meningkatkan cadangan hanya sekiranya anda telah memilih untuk berkongsi data penggunaan.</translation>
 <translation id="3678156199662914018">Sambungan: <ph name="EXTENSION_NAME" /></translation>
 <translation id="3678188444105291936">Halaman yang anda lihat dalam tetingkap ini tidak akan dipaparkan dalam sejarah penyemak imbas dan halaman ini tidak akan meninggalkan surih lain, seperti kuki, pada komputer selepas anda log keluar. Fail yang anda muat turun dan penanda halaman yang anda buat tidak akan dikekalkan.</translation>
+<translation id="368019053277764111">Buka carian pada panel sisi</translation>
 <translation id="3680683624079082902">Suara teks ke pertuturan</translation>
 <translation id="3681311097828166361">Terima kasih atas maklum balas anda. Anda berada di luar talian sekarang dan laporan anda akan dihantar sebentar lagi.</translation>
 <translation id="3682824389861648626">Ambang pergerakan</translation>
@@ -4846,6 +4849,7 @@
 <translation id="5799478978078236781">Dapatkan petua, tawaran dan kemaskinian <ph name="DEVICE_TYPE" />, serta kongsikan maklum balas.</translation>
 <translation id="5799508265798272974">Mesin Maya Linux: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">Fail destinasi dipangkas atau dialih keluar sejak muat turun terakhir.</translation>
+<translation id="5800351251499368110">Tutup carian pada panel sisi. Carian dibuka pada panel sisi.</translation>
 <translation id="5801568494490449797">Keutamaan</translation>
 <translation id="5804241973901381774">Kebenaran</translation>
 <translation id="5805697420284793859">Pengurus tetingkap</translation>
@@ -6357,6 +6361,7 @@
 <translation id="7356908624372060336">Log Rangkaian</translation>
 <translation id="735745346212279324">VPN diputuskan sambungan</translation>
 <translation id="7358324924540718595">Memori disembunyikan untuk hari ini</translation>
+<translation id="7358338787722390626">Tutup carian pada panel sisi</translation>
 <translation id="735994578317267253">Dapatkan apl, tetapan anda dan pelbagai lagi pada mana-mana peranti ChromeOS</translation>
 <translation id="7360233684753165754"><ph name="PAGE_NUMBER" /> halaman ke <ph name="PRINTER_NAME" /></translation>
 <translation id="7361297102842600584">Klik kanan untuk menjalankan <ph name="PLUGIN_NAME" /></translation>
diff --git a/chrome/app/resources/generated_resources_pa.xtb b/chrome/app/resources/generated_resources_pa.xtb
index c5c52e2..bc6ba149 100644
--- a/chrome/app/resources/generated_resources_pa.xtb
+++ b/chrome/app/resources/generated_resources_pa.xtb
@@ -63,6 +63,7 @@
 <translation id="1061130374843955397">ਤੁਹਾਡੇ <ph name="DEVICE_TYPE" /> ਡੀਵਾਈਸ ਵਿੱਚ ਜੀ ਆਇਆ ਨੂੰ</translation>
 <translation id="1061373870045429865">ਇਸ ਲਿੰਕ ਲਈ QR ਕੋਡ ਬਣਾਓ</translation>
 <translation id="1061904396131502319">ਥੋੜ੍ਹੀ ਦੇਰ ਆਰਾਮ ਕਰਨ ਦਾ ਸਮਾਂ ਹੋਣ ਵਾਲਾ ਹੈ</translation>
+<translation id="1062628064301375934">ਜ਼ਿਆਦਾ ਨਿੱਜੀ ਵੈੱਬ ਬਣਾਉਣ ਵਿੱਚ ਸਾਡੀ ਮਦਦ ਕਰੋ</translation>
 <translation id="1066613507389053689">Chrome OS ਅੱਪਡੇਟ ਲੋੜੀਂਦਾ ਹੈ</translation>
 <translation id="1067048845568873861">ਬਣਾਇਆ</translation>
 <translation id="1067922213147265141">ਹੋਰ Google ਸੇਵਾਵਾਂ</translation>
@@ -588,6 +589,7 @@
 <translation id="1572139610531470719"><ph name="WINDOW_TITLE" /> (ਮਹਿਮਾਨ)</translation>
 <translation id="1572266655485775982">ਵਾਈ-ਫਾਈ ਚਾਲੂ</translation>
 <translation id="1572876035008611720">ਆਪਣੀ ਈਮੇਲ ਦਾਖਲ ਕਰੋ</translation>
+<translation id="1573632872794824374">ਅਸੀਂ ਨਵੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਪੜਚੋਲ ਕਰ ਰਹੇ ਹਾਂ ਜੋ ਸਾਈਟਾਂ ਨੂੰ ਤੁਹਾਡੀ ਜਾਣਕਾਰੀ ਦੀ ਘੱਟ ਵਰਤੋਂ ਨਾਲ ਉਹੀ ਬ੍ਰਾਊਜ਼ਿੰਗ ਅਨੁਭਵ ਪ੍ਰਦਾਨ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀਆਂ ਹਨ</translation>
 <translation id="1575741822946219011">ਭਾਸ਼ਾਵਾਂ ਅਤੇ ਇਨਪੁੱਟ</translation>
 <translation id="1576594961618857597">ਪੂਰਵ-ਨਿਰਧਾਰਤ ਸਫ਼ੈਦ ਅਵਤਾਰ</translation>
 <translation id="1578558981922970608">ਜ਼ਬਰਦਸਤੀ ਬੰਦ ਕਰੋ</translation>
@@ -1386,6 +1388,7 @@
     <ph name="FOOTER_MESSAGE" /></translation>
 <translation id="2307630946657910723"><ph name="VISUAL_SEARCH_PROVIDER" /> ਨਾਲ ਪੰਨੇ ਦਾ ਹਿੱਸਾ ਖੋਜੋ</translation>
 <translation id="2309620859903500144">ਇਸ ਸਾਈਟ ਨੂੰ ਤੁਹਾਡੇ ਮੋਸ਼ਨ ਜਾਂ ਲਾਈਟ ਸੈਂਸਰਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਤੋਂ ਬਲਾਕ ਕਰ ਦਿੱਤਾ ਗਿਆ ਹੈ।</translation>
+<translation id="2311721625890389967">↓</translation>
 <translation id="2312219318583366810">URL ਪੰਨਾ</translation>
 <translation id="2314165183524574721">ਮੌਜੂਦਾ ਦਿਖਣਯੋਗਤਾ ਸੈਟਿੰਗ 'ਲੁਕੀ ਹੋਈ' 'ਤੇ ਸੈੱਟ ਹੈ</translation>
 <translation id="2314774579020744484">ਪੰਨਿਆਂ ਦਾ ਅਨੁਵਾਦ ਕਰਨ ਵੇਲੇ ਵਰਤੀ ਜਾਂਦੀ ਭਾਸ਼ਾ</translation>
@@ -1653,6 +1656,7 @@
 <translation id="2553340429761841190"><ph name="PRODUCT_NAME" />, <ph name="NETWORK_ID" /> ਨਾਲ ਕਨੈਕਟ ਕਰਨ ਵਿੱਚ ਅਸਮਰੱਥ ਸੀ। ਕਿਰਪਾ ਕਰਕੇ ਦੂਜਾ ਨੈੱਟਵਰਕ ਚੁਣੋ ਜਾਂ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।</translation>
 <translation id="2553440850688409052">ਇਹ ਪਲੱਗਇਨ ਲੁਕਾਓ</translation>
 <translation id="2554553592469060349">ਚੁਣੀ ਗਈ ਫਾਈਲ ਬਹੁਤ ਜ਼ਿਆਦਾ ਵੱਡੀ ਹੈ (ਅਧਿਕਤਮ ਆਕਾਰ: 3mb).</translation>
+<translation id="2558569818338050235">ਤੁਹਾਡਾ ਬ੍ਰਾਊਜ਼ਿੰਗ ਇਤਿਹਾਸ ਤੁਹਾਨੂੰ ਦਿਸਣ ਵਾਲੇ ਵਿਗਿਆਪਨਾਂ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰਦਾ ਹੈ</translation>
 <translation id="2558896001721082624">ਸਿਸਟਮ ਮੀਨੂ ਵਿੱਚ ਹਮੇਸ਼ਾਂ ਪਹੁੰਚਯੋਗਤਾ ਵਿਕਲਪ ਦਿਖਾਓ</translation>
 <translation id="2564520396658920462">AppleScript ਦੇ ਰਾਹੀਂ JavaScript ਨੂੰ ਚਲਾਉਣਾ ਬੰਦ ਹੈ। ਇਸਨੂੰ ਮੀਨੂ ਬਾਰ ਤੋਂ ਚਲਾਉਣ ਲਈ, ਦ੍ਰਿਸ਼ &gt; ਵਿਕਾਸਕਾਰ &gt; Apple ਇਵੈਂਟਾਂ ਤੋਂ JavaScript ਚੱਲਣ ਦਿਓ 'ਤੇ ਜਾਓ। ਹੋਰ ਜਾਣਕਾਰੀ ਲਈ: https://support.google.com/chrome/?p=applescript</translation>
 <translation id="2564653188463346023">ਬਿਹਤਰ ਸ਼ਬਦ-ਜੋੜ ਜਾਂਚ</translation>
@@ -1786,6 +1790,7 @@
 <translation id="2709516037105925701">ਆਟੋਫਿਲ</translation>
 <translation id="2710101514844343743">ਵਰਤੋਂ ਅਤੇ ਤਸ਼ਖੀਸ ਡਾਟਾ</translation>
 <translation id="271033894570825754">ਨਵਾਂ</translation>
+<translation id="2711073837061989559">ਪਰਖਾਂ</translation>
 <translation id="2712173769900027643">ਅਨੁਮਤੀ ਲਓ</translation>
 <translation id="2713106313042589954">ਕੈਮਰਾ ਬੰਦ ਕਰੋ</translation>
 <translation id="2713444072780614174">ਸਫ਼ੈਦ</translation>
@@ -1982,6 +1987,7 @@
 <translation id="2889064240420137087">ਇਸ ਨਾਲ ਲਿੰਕ ਖੋਲ੍ਹੇੋ...</translation>
 <translation id="2891566119238851894">ਸਾਈਡ ਪੈਨਲ ਵਿੱਚ ਖੋਜ ਨੂੰ ਖੋਲ੍ਹੋ। ਸਾਈਡ ਪੈਨਲ ਵਿੱਚ ਖੋਜ ਖੁੱਲ੍ਹੀ ਨਹੀਂ ਹੈ।</translation>
 <translation id="2891922230654533301">ਕੀ <ph name="APP_NAME" /> 'ਤੇ ਸਾਈਨ-ਇਨ ਕਰਨ ਲਈ ਆਪਣੇ ਡੀਵਾਈਸ ਨੂੰ ਵਰਤਣਾ ਹੈ?</translation>
+<translation id="2893013536106749396">ਖੁਦ ਨੂੰ ਉਨ੍ਹਾਂ ਚੀਜ਼ਾਂ ਬਾਰੇ ਅੱਪਡੇਟ ਰੱਖਣ ਲਈ ਕਾਰਡ ਚੁਣੋ ਜੋ ਤੁਹਾਡੇ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹਨ</translation>
 <translation id="2893168226686371498">ਪੂਰਵ-ਨਿਰਧਾਰਤ ਬ੍ਰਾਊਜ਼ਰ</translation>
 <translation id="2893180576842394309">Google ਖੋਜ ਅਤੇ ਹੋਰਾਂ Google ਸੇਵਾਵਾਂ ਨੂੰ ਵਿਅਕਤੀਗਤ ਬਣਾਉਣ ਲਈ ਤੁਹਾਡੇ ਇਤਿਹਾਸ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦਾ ਹੈ</translation>
 <translation id="2894757982205307093">ਗਰੁੱਪ ਵਿੱਚ ਨਵੀਂ ਟੈਬ</translation>
@@ -2094,6 +2100,7 @@
 <translation id="3003623123441819449">CSS ਕੈਸ਼ੇ</translation>
 <translation id="3003828226041301643">ਡੀਵਾਈਸ ਨੂੰ ਡੋਮੇਨ ਵਿੱਚ ਸ਼ਾਮਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ। ਇਹ ਪੱਕਾ ਕਰਨ ਲਈ ਆਪਣੇ ਖਾਤੇ ਦੀ ਜਾਂਚ ਕਰੋ ਕਿ ਤੁਹਾਡੇ ਕੋਲ ਡੀਵਾਈਸਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨ ਦੇ ਵਿਸ਼ੇਸ਼-ਅਧਿਕਾਰ ਹਨ।</translation>
 <translation id="3003967365858406397">ਤੁਹਾਡਾ <ph name="PHONE_NAME" /> ਇੱਕ ਨਿੱਜੀ Wi-Fi ਕਨੈਕਸ਼ਨ ਬਣਾਏਗਾ।</translation>
+<translation id="3005574332301273731">ਇਸਨੂੰ ਨਾ ਦਿਖਾਓ</translation>
 <translation id="3006881078666935414">ਕੋਈ ਵਰਤੋਂ  ਡਾਟਾ  ਨਹੀਂ</translation>
 <translation id="3007771295016901659">ਡੁਪਲੀਕੇਟ ਟੈਬ</translation>
 <translation id="3008232374986381779">ਆਪਣੇ <ph name="DEVICE_TYPE" /> 'ਤੇ Linux ਦੇ ਟੂਲ, ਸੰਪਾਦਕ ਅਤੇ IDE ਚਲਾਓ। <ph name="LINK_BEGIN" />ਹੋਰ ਜਾਣੋ<ph name="LINK_END" /></translation>
@@ -2150,6 +2157,7 @@
 <translation id="3053013834507634016">ਪ੍ਰਮਾਣ-ਪੱਤਰ ਕੁੰਜੀ ਵਰਤੋਂ</translation>
 <translation id="3053273573829329829">ਵਰਤੋਂਕਾਰ ਪਿੰਨ ਨੂੰ ਚਾਲੂ ਕਰੋ</translation>
 <translation id="3054766768827382232">ਬੰਦ ਕਰਨ ਨਾਲ ਤੁਹਾਡੇ ਪੈਰੀਫੈਰਲ ਬਿਹਤਰ ਕਾਰਗੁਜ਼ਾਰੀ ਕਰ ਸਕਦੇ ਹਨ, ਪਰ ਤੁਹਾਡੇ ਵਿਅਕਤੀਗਤ ਡਾਟੇ ਨੂੰ ਅਣਅਧਿਕਾਰਤ ਵਰਤੋਂ ਰਾਹੀਂ ਪ੍ਰਗਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।</translation>
+<translation id="3055113921564083271">ਤੁਹਾਡੇ ਵੱਲੋਂ ਹਟਾਈਆਂ ਗਈਆਂ ਦਿਲਚਸਪੀਆਂ</translation>
 <translation id="3055590424724986000">ਤੁਹਾਡੀ ਪਸੰਦ ਦੇ ਪ੍ਰਦਾਨਕ ਨਾਲ</translation>
 <translation id="3058498974290601450">ਤੁਸੀਂ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਕਿਸੇ ਵੇਲੇ ਵੀ ਸਿੰਕ ਚਾਲੂ ਕਰ ਸਕਦੇ ਹੋ</translation>
 <translation id="3058517085907878899">ਡੀਵਾਈਸ ਨੂੰ ਨਾਮ ਦਿਓ</translation>
@@ -2267,6 +2275,7 @@
 <translation id="3183944777708523606">ਮਾਨੀਟਰ ਦਾ ਪ੍ਰਬੰਧ</translation>
 <translation id="3184536091884214176">CUPS ਪ੍ਰਿੰਟਰਾਂ ਦਾ ਸੈੱਟਅੱਪ ਕਰੋ ਜਾਂ ਪ੍ਰਬੰਧਿਤ ਕਰੋ। <ph name="LINK_BEGIN" />ਹੋਰ ਜਾਣੋ<ph name="LINK_END" /></translation>
 <translation id="3185014249447200271">{NUM_APPS,plural, =1{ਇਸ ਐਪ ਨੂੰ ਬਲਾਕ ਕੀਤਾ ਗਿਆ ਹੈ}one{ਇਸ ਐਪ ਨੂੰ ਬਲਾਕ ਕੀਤਾ ਗਿਆ ਹੈ}other{ਕੁਝ ਐਪਾਂ ਨੂੰ ਬਲਾਕ ਕੀਤਾ ਗਿਆ ਹੈ}}</translation>
+<translation id="3187472288455401631">ਵਿਗਿਆਪਨ ਮੁਲਾਂਕਣ</translation>
 <translation id="3188257591659621405">ਮੇਰੀਆਂ ਫ਼ਾਈਲਾਂ</translation>
 <translation id="3188465121994729530">ਮੂਵ ਕਰਨ ਦੀ ਔਸਤ</translation>
 <translation id="3189187154924005138">ਵੱਡਾ ਕਰਸਰ</translation>
@@ -2636,6 +2645,7 @@
 <translation id="3575121482199441727">ਇਸ ਸਾਈਟ ਨੂੰ ਦਿਖਾਉਣ ਦਿਓ</translation>
 <translation id="3577745545227000795"><ph name="DEVICE_OS" /> ਹਾਰਡਵੇਅਰ ਡਾਟਾ ਸੰਗ੍ਰਹਿ</translation>
 <translation id="3578594933904494462">ਇਸ ਟੈਬ ਦੀ ਸਮੱਗਰੀ ਸ਼ੇਅਰ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ।</translation>
+<translation id="3578874072190212775">ਸਾਈਟਾਂ ਦੀ ਧੋਖਾਧੜੀ ਨਾਲ ਲੜਨ ਅਤੇ ਬੋਟਾਂ ਨੂੰ ਲੋਕਾਂ ਤੋਂ ਵਿਲੱਖਣ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰੋ</translation>
 <translation id="3581605050355435601">IP ਪਤੇ ਦਾ ਸਵੈ-ਸੰਰੂਪਣ ਕਰੋ</translation>
 <translation id="3582057310199111521">ਧੋਖੇਬਾਜ਼ ਸਾਈਟ 'ਤੇ ਦਾਖਲ ਕੀਤਾ ਗਿਆ ਅਤੇ ਡਾਟਾ ਉਲੰਘਣਾ ਵਿੱਚ ਲੱਭਿਆ</translation>
 <translation id="3584169441612580296">ਆਪਣੇ ਕੰਪਿਊਟਰ ਤੋਂ ਫ਼ੋਟੋਆਂ, ਸੰਗੀਤ ਅਤੇ ਹੋਰ ਮੀਡੀਆ ਪੜ੍ਹੋ ਅਤੇ ਬਦਲੋ</translation>
@@ -3088,6 +3098,7 @@
 <translation id="3979748722126423326"><ph name="NETWORKDEVICE" /> ਨੂੰ ਚਾਲੂ ਕਰੋ</translation>
 <translation id="3981058120448670012">ਨਜ਼ਦੀਕੀ ਡੀਵਾਈਸਾਂ ਨੂੰ <ph name="REMAINING_TIME" /> ਲਈ <ph name="DEVICE_NAME" /> ਵਜੋਂ ਦਿਖਣਯੋਗ...</translation>
 <translation id="3981760180856053153">ਅਵੈਧ ਰੱਖਿਅਤ ਕਿਸਮ ਦਾਖਲ ਕੀਤੀ ਗਈ।</translation>
+<translation id="3981902534690264083">ਵਿਗਿਆਪਨਦਾਤਾ ਸਮਝ ਸਕਦੇ ਹਨ ਕਿ ਵਿਗਿਆਪਨ ਕਿਵੇਂ ਦੀ ਕਾਰਗੁਜ਼ਾਰੀ ਕਰਦੇ ਹਨ</translation>
 <translation id="3982375475032951137">ਕੁਝ ਸਧਾਰਨ ਪੜਾਵਾਂ ਨਾਲ ਆਪਣੇ ਬ੍ਰਾਊਜ਼ਰ ਦਾ ਸੈੱਟਅੱਪ ਕਰੋ</translation>
 <translation id="3983400541576569538">ਸ਼ਾਇਦ ਕੁਝ ਐਪਾਂ ਦਾ ਡਾਟਾ ਗੁਆਚ ਗਿਆ</translation>
 <translation id="3983586614702900908">ਇੱਕ ਅਗਿਆਤ ਵੈਂਡਰ ਦੀਆਂ ਡਿਵਾਈਸਾਂ</translation>
@@ -4315,6 +4326,7 @@
 <translation id="5265797726250773323">ਸਥਾਪਤ ਕਰਨ ਵੇਲੇ ਗੜਬੜ ਹੋਈ</translation>
 <translation id="5266113311903163739">ਪ੍ਰਮਾਣਿਕਤਾ ਅਧਿਕਾਰ ਆਯਾਤ ਗੜਬੜ</translation>
 <translation id="526622169288322445"><ph name="ADDRESS_SUMMARY" /> ਲਈ ਹੋਰ ਕਾਰਵਾਈਆਂ</translation>
+<translation id="5268373933383932086">ਤੁਹਾਡਾ ਪੰਨਾ, ਤੁਹਾਡਾ ਤਰੀਕਾ</translation>
 <translation id="5269977353971873915">ਪ੍ਰਿੰਟ ਲੈਣਾ ਅਸਫਲ ਰਿਹਾ</translation>
 <translation id="5273806377963980154">ਸਾਈਟ ਦੇ URL ਦਾ ਸੰਪਾਦਨ ਕਰੋ</translation>
 <translation id="5275352920323889391">ਕੁੱਤਾ</translation>
@@ -5128,6 +5140,7 @@
 <translation id="6080689532560039067">ਆਪਣੇ ਸਿਸਟਮ ਸਮੇਂ ਦੀ ਜਾਂਚ ਕਰੋ</translation>
 <translation id="6082877069782862752">ਕੁੰਜੀ ਦੀ ਮੈਪਿੰਗ</translation>
 <translation id="608531959444400877"><ph name="WINDOW_TITLE" /> - ਬੇਨਾਮ ਗਰੁੱਪ ਦਾ ਹਿੱਸਾ</translation>
+<translation id="6085457109149794212">'Chrome ਨੂੰ ਵਿਉਂਤਬੱਧ ਕਰੋ' ਵਿੱਚ ਕਾਰਡਾਂ ਦੇ ਸਾਰੇ ਵਿਕਲਪ ਦੇਖੋ</translation>
 <translation id="6085886413119427067">ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ ਕਿ ਕਿਸੇ ਸੁਰੱਖਿਅਤ ਕਨੈਕਸ਼ਨ 'ਤੇ ਵੈੱਬਸਾਈਟਾਂ ਨੂੰ ਕਿਵੇਂ ਕਨੈਕਟ ਕਰਨਾ ਹੈ</translation>
 <translation id="6086004606538989567">ਤੁਹਾਡਾ ਪੁਸ਼ਟੀਕਿਰਤ ਖਾਤਾ ਇਸ ਡੀਵਾਈਸ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਲਈ ਅਧਿਕਾਰਤ ਨਹੀਂ ਹੈ।</translation>
 <translation id="6086846494333236931">ਤੁਹਾਡੇ ਪ੍ਰਸ਼ਾਸਕ ਵੱਲੋਂ ਸਥਾਪਿਤ ਕੀਤਾ ਗਿਆ</translation>
@@ -5581,6 +5594,7 @@
 <translation id="6537613839935722475">ਨਾਮ ਲਈ ਅੱਖਰ, ਨੰਬਰ ਅਤੇ ਹਾਈਫਨ (-) ਵਰਤੇ ਜਾ ਸਕਦੇ ਹਨ</translation>
 <translation id="6538098297809675636">ਕੋਡ ਦਾ ਪਤਾ ਲਗਾਉਣ ਵੇਲੇ ਗੜਬੜ ਹੋ ਗਈ</translation>
 <translation id="653920215766444089">ਪੁਆਇੰਟਰ ਵਾਲਾ ਡੀਵਾਈਸ ਖੋਜਿਆ ਜਾ ਰਿਹਾ ਹੈ</translation>
+<translation id="653983593749614101">ਮੁੜ-ਚਾਲੂ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ...</translation>
 <translation id="654039047105555694"><ph name="BEGIN_BOLD" />ਨੋਟ:<ph name="END_BOLD" /> ਸਿਰਫ਼ ਤਾਂ ਹੀ ਚਾਲੂ ਕਰੋ ਜੇਕਰ ਤੁਹਾਨੂੰ ਪਤਾ ਹੈ ਕਿ ਤੁਸੀਂ ਕੀ ਕਰ ਰਹੇੇ ਹੋ ਜਾਂ ਜੇਕਰ ਤੁਹਾਨੂੰ ਅਜਿਹਾ ਕਰਨ ਲਈ ਕਿਹਾ ਗਿਆ ਹੈ, ਕਿਉਂਕਿ ਡਾਟਾ ਦਾ ਇਕੱਤਰੀਕਰਨ ਕਾਰਗੁਜ਼ਾਰੀ ਘਟਾ ਸਕਦਾ ਹੈ।</translation>
 <translation id="6540672086173674880">Google ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਿੰਗ ਇਤਿਹਾਸ ਦੀ ਵਰਤੋਂ Search ਅਤੇ ਹੋਰ Google ਸੇਵਾਵਾਂ ਨੂੰ ਵਿਅਕਤੀਗਤ ਬਣਾਉਣ ਲਈ ਕਰ ਸਕਦਾ ਹੈ। ਤੁਸੀਂ ਇਸ ਨੂੰ ਕਿਸੇ ਵੇਲੇ ਵੀ myaccount.google.com/activitycontrols/search 'ਤੇ ਬਦਲ ਸਕਦੇ ਹੋ</translation>
 <translation id="6541638731489116978">ਇਸ ਸਾਈਟ ਨੂੰ ਤੁਹਾਡੇ ਗਤੀਸ਼ੀਲਤਾ ਸੈਂਸਰਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਤੋਂ ਬਲਾਕ ਕੀਤਾ ਗਿਆ ਹੈ।</translation>
@@ -5797,6 +5811,7 @@
 <translation id="6767566652486411142">ਕੋਈ ਹੋਰ ਭਾਸ਼ਾ ਚੁਣੋ...</translation>
 <translation id="6767639283522617719">ਡੋਮੇਨ ਸ਼ਾਮਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ। ਪੱਕਾ ਕਰੋ ਕਿ ਸੰਸਥਾਗਤ ਇਕਾਈ ਲਈ ਸੈਟਿੰਗਾਂ ਸਹੀ ਹਨ।</translation>
 <translation id="6768034047581882264">ਅਸੁਰੱਖਿਅਤ ਸਮੱਗਰੀ ਦਿਖਾਉਣ ਦੀ ਇਜਾਜ਼ਤ ਨਹੀਂ ਹੈ</translation>
+<translation id="6770042910635026163">ਤੁਹਾਡੀਆਂ ਦਿਲਚਸਪੀਆਂ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਨ ਵਾਲੀਆਂ ਉਹ ਸਾਈਟਾਂ ਜਿਨ੍ਹਾਂ 'ਤੇ ਤੁਸੀਂ ਜਾਂਦੇ ਹੋ</translation>
 <translation id="6770602306803890733">ਵੈੱਬ 'ਤੇ ਤੁਹਾਡੀ ਅਤੇ ਹਰ ਕਿਸੇ ਦੀ ਸੁਰੱਖਿਆ ਨੂੰ ਬਿਹਤਰ ਬਣਾਇਆ ਜਾਂਦਾ ਹੈ</translation>
 <translation id="6771503742377376720">ਇੱਕ ਸਰਟੀਫਿਕੇਸ਼ਨ ਅਥਾੱਰਿਟੀ ਹੈ</translation>
 <translation id="6775163072363532304">ਉਪਲਬਧ ਡੀਵਾਈਸ ਇੱਥੇ ਦਿਸਣਗੇ।</translation>
@@ -6355,6 +6370,7 @@
 <translation id="7347943691222276892"><ph name="SUBPAGE_TITLE" /> ਤੋਂ ਦੂਰ ਨੈਵੀਗੇਟ ਕਰਨ ਲਈ ਕਲਿੱਕ ਕਰੋ।</translation>
 <translation id="7348093485538360975">ਔਨ-ਸਕ੍ਰੀਨ ਕੀ-ਬੋਰਡ</translation>
 <translation id="7349010927677336670">ਵੀਡੀਓ ਸਰਲਤਾ</translation>
+<translation id="7352531447904559593">ਬ੍ਰਾਊਜ਼ਰ-ਆਧਾਰਿਤ ਵਿਗਿਆਪਨ ਵਿਅਕਤੀਗਤਕਰਨ ਬਾਰੇ ਹੋਰ ਜਾਣੋ</translation>
 <translation id="7352651011704765696">ਕੁਝ ਗ਼ਲਤ ਹੋਇਆ ਸੀ</translation>
 <translation id="7353261921908507769">ਉਹਨਾਂ ਦੇ ਨਜ਼ਦੀਕ ਹੋਣ 'ਤੇ ਤੁਹਾਡੇ ਸੰਪਰਕ ਤੁਹਾਡੇ ਨਾਲ ਸਾਂਝਾ ਕਰ ਸਕਦੇ ਹਨ। ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ ਸਵੀਕਾਰ ਨਹੀਂ ਕਰਦੇ, ਟ੍ਰਾਂਸਫ਼ਰ ਸ਼ੁਰੂ ਨਹੀਂ ਹੁੰਦਾ।</translation>
 <translation id="735361434055555355">Linux ਸਥਾਪਤ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ...</translation>
@@ -6645,6 +6661,7 @@
 <translation id="7631887513477658702">&amp;ਹਮੇਸ਼ਾਂ ਇਸ ਪ੍ਰਕਾਰ ਦੀਆਂ ਫਾਈਲਾਂ ਖੋਲ੍ਹੋ</translation>
 <translation id="7632948528260659758">ਹੇਠਾਂ ਦਿੱਤੇ kiosk ਐਪਸ ਅੱਪਡੇਟ ਕਰਨ ਵਿੱਚ ਅਸਫਲ ਹੋ ਗਏ ਹਨ:</translation>
 <translation id="7633724038415831385">ਬਸ ਇਸ ਵਾਰ ਹੀ ਤੁਸੀਂ ਕਿਸੇ ਅੱਪਡੇਟ ਲਈ ਉਡੀਕ ਕਰੋਗੇ। Chromebook 'ਤੇ, ਬੈਕਗ੍ਰਾਊਂਡ ਵਿੱਚ ਸਾਫ਼ਟਵੇਅਰ ਅੱਪਡੇਟ ਹੁੰਦੇ ਹਨ।</translation>
+<translation id="7634280112532283638">ਸਪੈਮ ਅਤੇ ਧੋਖਾਧੜੀ ਨੂੰ ਘਟਾਉਣਾ</translation>
 <translation id="7634566076839829401">ਕੁਝ ਗ਼ਲਤ ਹੋਇਆ ਸੀ। ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।</translation>
 <translation id="7635048370253485243">ਤੁਹਾਡੇ ਪ੍ਰਸ਼ਾਸਕ ਵੱਲੋਂ ਪਿੰਨ ਕੀਤੀ ਗਈ</translation>
 <translation id="763632859238619983">ਕਿਸੇ ਵੀ ਸਾਈਟ ਨੂੰ ਭੁਗਤਾਨ ਹੈਂਡਲਰ ਸਥਾਪਤ ਨਾ ਕਰਨ ਦਿਓ</translation>
@@ -6996,6 +7013,7 @@
 <translation id="7957074856830851026">ਡੀਵਾਈਸ ਜਾਣਕਾਰੀ ਦੇਖੋ, ਜਿਵੇਂ ਕਿ ਇਸਦਾ ਸੀਰੀਅਲ ਨੰਬਰ ਜਾਂ ਸੰਪਤੀ ਆਈਡੀ</translation>
 <translation id="7957615753207896812">ਕੀ-ਬੋਰਡ ਡੀਵਾਈਸ ਸੈਟਿੰਗਾਂ ਖੋਲ੍ਹੋ</translation>
 <translation id="7959074893852789871">ਫਾਈਲ ਵਿੱਚ ਮਲਟੀਪਲ ਸਰਟੀਫਿਕੇਟਸ ਸਨ, ਜਿਹਨਾਂ ਵਿੱਚੋਂ ਕੁਝ ਆਯਾਤ ਨਹੀਂ ਕੀਤੇ ਗਏ ਸਨ:</translation>
+<translation id="7959157064403954786">ਹੋਰ ਪਾਰਦਰਸ਼ੀ ਵਿਗਿਆਪਨ ਅਜ਼ਮਾਓ</translation>
 <translation id="7959665254555683862">ਨਵੀਂ ਇਨਕੋਗਨਿਟੋ ਟੈਬ</translation>
 <translation id="7961015016161918242">ਕਦੇ ਨਹੀਂ</translation>
 <translation id="7963001036288347286">ਟੱਚਪੈਡ ਐਕਸੈੱਲਰੇਸ਼ਨ</translation>
@@ -7682,6 +7700,7 @@
 <translation id="866611985033792019">ਈਮੇਲ ਵਰਤੋਂਕਾਰਾਂ ਦੀ ਪਛਾਣ ਕਰਨ ਲਈ ਇਸ ਪ੍ਰਮਾਣ-ਪੱਤਰ 'ਤੇ ਭਰੋਸਾ ਕਰੋ</translation>
 <translation id="8666584013686199826">ਕਿਸੇ ਸਾਈਟ ਦੇ USB ਡੀਵਾਈਸਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਵੇਲੇ ਪੁੱਛੋ</translation>
 <translation id="8667328578593601900"><ph name="FULLSCREEN_ORIGIN" /> ਹੁਣ ਪੂਰੀ ਸਕ੍ਰੀਨ ਹੈ ਅਤੇ ਤੁਹਾਡਾ ਮਾਊਸ ਕਰਸਰ ਅਯੋਗ ਬਣਾਇਆ ਗਿਆ ਹੈ।</translation>
+<translation id="8667760277771450375">ਅਸੀਂ ਸਾਈਟਾਂ ਨੂੰ ਵਿਗਿਆਪਨ ਸਪੈਮ ਅਤੇ ਧੋਖਾਧੜੀ ਬੰਦ ਕਰਨ ਦੇ ਯੋਗ ਬਣਾਉਂਦੇ ਹੋਏ ਕ੍ਰਾਸ-ਸਾਈਟ ਟਰੈਕਿੰਗ ਨੂੰ ਪ੍ਰਤਿਬੰਧਿਤ ਕਰਨ ਦੇ ਤਰੀਕਿਆਂ ਦੀ ਪੜਚੋਲ ਕਰ ਰਹੇ ਹਾਂ।</translation>
 <translation id="8668052347555487755">ਰੰਗਦਾਰ ਮੋਡ</translation>
 <translation id="8669284339312441707">ਵਧੇਰੇ ਗੂੜ੍ਹਾ</translation>
 <translation id="8670537393737592796">ਤੇਜ਼ੀ ਨਾਲ ਇੱਥੇ ਵਾਪਸ ਆਉਣ ਲਈ, ਸਥਾਪਤ ਕਰੋ ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕਰਕੇ <ph name="APP_NAME" /> ਨੂੰ ਸਥਾਪਤ ਕਰੋ</translation>
@@ -8284,6 +8303,7 @@
 <translation id="968000525894980488">Google Play ਸੇਵਾਵਾਂ ਚਾਲੂ ਕਰੋ।</translation>
 <translation id="968037381421390582">“<ph name="SEARCH_TERMS" />” ਪੇਸਟ ਕਰਕੇ ਖੋਜੋ</translation>
 <translation id="969096075394517431">ਭਾਸ਼ਾਵਾਂ ਬਦਲੋ</translation>
+<translation id="969573236494556070">ਸਾਈਟਾਂ ਵਿਚਕਾਰ ਸਾਂਝਾਕਰਨ ਸੀਮਤ ਕਰੋ</translation>
 <translation id="970047733946999531">{NUM_TABS,plural, =1{1 ਟੈਬ}one{# ਟੈਬਾਂ}other{# ਟੈਬਾਂ}}</translation>
 <translation id="971510864672937292">ਕੀ <ph name="SITE_NAME" /> ਅਤੇ ਇਸ ਦੇ ਅਧੀਨ ਆਉਂਦੀਆਂ ਸਾਰੀਆਂ ਸਾਈਟਾਂ ਲਈ ਸਾਈਟ ਡਾਟਾ ਅਤੇ ਇਜਾਜ਼ਤਾਂ ਨੂੰ ਕਲੀਅਰ ਕਰਨਾ ਹੈ?</translation>
 <translation id="971774202801778802">ਬੁੱਕਮਾਰਕ URL</translation>
diff --git a/chrome/app/resources/generated_resources_si.xtb b/chrome/app/resources/generated_resources_si.xtb
index 4db6299..829bdf38 100644
--- a/chrome/app/resources/generated_resources_si.xtb
+++ b/chrome/app/resources/generated_resources_si.xtb
@@ -1425,6 +1425,7 @@
 <translation id="2349896577940037438">ඔබේ අමතර වෙබ් සහ යෙදුම් ක්‍රියාකාරකම් සැකසීම සක්‍රීය නම්, මෙම දත්ත ඔබේ Google ගිණුුමට සුරකිනු ලැබේ. account.google.com හි ඔබට ඔබේ දත්ත බැලීමට, එය වෙනස් කිරීමට සහ ඔබේ ගිණුම් සැකසීම් වෙනස් කිරීමට හැකිය.</translation>
 <translation id="2350133097354918058">යළි පූරණ කළා</translation>
 <translation id="2350182423316644347">යෙදුම ආරම්භ කරමින්...</translation>
+<translation id="235028206512346451">ඔබ ඔබගේ උපාංගයෙන් ඉවතට ගියහොත්, ඔබගේ තිරය ස්වයංක්‍රීයව අගුලු වැටෙනු ඇත. ඔබ ඔබගේ උපාංගය ඉදිරිපිට සිටින විට, ඔබගේ තිරය වැඩි වේලාවක් අවදියෙන් පවතිනු ඇත. ඔබ අගුලු තිරයක් භාවිත නොකරන්නේ නම්, ඔබගේ උපාංගය අගුලු දැමීම වෙනුවට නිද්‍රාවට පත් වනු ඇත.</translation>
 <translation id="2352495879228166246">{NUM_ITEMS,plural, =1{1 අයිතමයක්}one{අයිතම {NUM_ITEMS} ක්}other{අයිතම {NUM_ITEMS} ක්}}</translation>
 <translation id="2352662711729498748">&lt; 1 MB</translation>
 <translation id="2352810082280059586">අගුලු තිර සටහන් ස්වයංක්‍රියව <ph name="LOCK_SCREEN_APP_NAME" /> වෙත සුරැකේ. ඔබගේ වඩාත් මෑත සටහන අගුලු තිරය මත පවතිනු ඇත.</translation>
@@ -1966,6 +1967,7 @@
 <translation id="2886771036282400576">• <ph name="PERMISSION" /></translation>
 <translation id="288734198558082692"><ph name="DEVICE" /> සහ තවත් <ph name="NUMBER_OF_DEVICES" /></translation>
 <translation id="2889064240420137087">සමඟ සබැඳිය විවෘත කරන්න...</translation>
+<translation id="2891566119238851894">පැති පැනලයේ සෙවීම විවෘත කරන්න. පැති පැනලයේ සෙවීම විවෘත නැත.</translation>
 <translation id="2891922230654533301"><ph name="APP_NAME" /> වෙත පිරීමට ඔබගේ උපාංගය භාවිත කරන්නද?</translation>
 <translation id="2893168226686371498">පෙරනිමි බ්‍රව්සරය</translation>
 <translation id="2893180576842394309">සෙවීම සහ අනෙකුත් Google සේවා පුද්ගලායන කිරීමට Google ඔබේ ඉතිහාසය භාවිත කළ හැක</translation>
@@ -2724,6 +2726,7 @@
 <translation id="3677959414150797585">යෙදුම්, වෙබ් පිටු, සහ තවත් දේ අන්තර්ගත වේ. ඔබ භාවිත දත්ත බෙදා ගැනීමට තෝරා ඇති නම් පමණක් යෝජනා වැඩි දියුණු කිරීමට සංඛ්‍යාන යවයි.</translation>
 <translation id="3678156199662914018">දිගුව: <ph name="EXTENSION_NAME" /></translation>
 <translation id="3678188444105291936">මෙම කවුළුව තුළ ඔබ නරඹන පිටු බ්‍රවුස් කිරීමේ ඉතිහාසය තුළ නොපෙන්වනු ඇති අතර ඔබ වැරීමෙන් පසුව ඒවා කුකි වැනි වෙනත් හෝඩුවාවල් පරිගණකයේ නොතබනු ඇත. ඔබ බාගන්නා ගොනු හෝ තනන පිටුසන් සංරක්ෂණය නොකරනු ඇත.</translation>
+<translation id="368019053277764111">පැති පැනලයේ සෙවීම විවෘත කරන්න</translation>
 <translation id="3680683624079082902">කථනයට පාඨය හඬ</translation>
 <translation id="3681311097828166361">ඔබගේ ප්‍රතිපෝෂණයට ස්තූතියි. ඔබ දැන් නොබැඳි වන අතර, ඔබේ වාර්තාව පසුව යවනු ඇත.</translation>
 <translation id="3682824389861648626">චලන සීමාන්තිකය</translation>
@@ -4835,6 +4838,7 @@
 <translation id="5799478978078236781"><ph name="DEVICE_TYPE" /> ඉඟි, දීමනා සහ යාවත්කාලීන ලබා ගන්න සහ ප්‍රතිපෝෂණ බෙදා ගන්න.</translation>
 <translation id="5799508265798272974">ලිනක්ස් අතථ්‍ය යන්ත්‍රය: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">අවසන් වරට බාගැනීමෙන් පසු අදාළ ගොනුව ලුප්ත කර හෝ වෙනත් තැනකට ගෙනගොස් ඇත.</translation>
+<translation id="5800351251499368110">පැති පැනලයේ සෙවීම වසන්න. පැති පැනලයේ සෙවීම විවෘතයි.</translation>
 <translation id="5801568494490449797">අභිරුචි</translation>
 <translation id="5804241973901381774">අවසර</translation>
 <translation id="5805697420284793859">කවුළු කළමනාකරු</translation>
@@ -6344,6 +6348,7 @@
 <translation id="7356908624372060336">ජාල ලොග</translation>
 <translation id="735745346212279324">VPN විසන්ධි විය</translation>
 <translation id="7358324924540718595">අද දිනය සඳහා මතක සඟවා ඇත</translation>
+<translation id="7358338787722390626">පැති පැනලයේ සෙවීම වසන්න</translation>
 <translation id="735994578317267253">ඕනෑම ChromeOS උපාංගයක ඔබගේ යෙදුම්, සැකසීම් සහ තවත් දේ ලබා ගන්න</translation>
 <translation id="7360233684753165754"><ph name="PRINTER_NAME" /> වෙත පිටු <ph name="PAGE_NUMBER" />ක්</translation>
 <translation id="7361297102842600584"><ph name="PLUGIN_NAME" /> ධාවනය කිරීමට දකුණු-ක්ලික් කරන්න</translation>
diff --git a/chrome/app/resources/generated_resources_tr.xtb b/chrome/app/resources/generated_resources_tr.xtb
index 15d4fc2..33d88c1 100644
--- a/chrome/app/resources/generated_resources_tr.xtb
+++ b/chrome/app/resources/generated_resources_tr.xtb
@@ -63,6 +63,7 @@
 <translation id="1061130374843955397"><ph name="DEVICE_TYPE" /> cihazınıza hoş geldiniz</translation>
 <translation id="1061373870045429865">Bu bağlantı için QR kodu oluştur</translation>
 <translation id="1061904396131502319">Mola verme zamanı yaklaştı</translation>
+<translation id="1062628064301375934">Daha gizli bir web inşa etmemize yardımcı olun</translation>
 <translation id="1066613507389053689">Chrome OS güncellemesi gerekli</translation>
 <translation id="1067048845568873861">Oluşturulduğu tarih</translation>
 <translation id="1067922213147265141">Diğer Google hizmetleri</translation>
@@ -584,6 +585,7 @@
 <translation id="1572139610531470719"><ph name="WINDOW_TITLE" /> (Misafir)</translation>
 <translation id="1572266655485775982">Kablosuz bağlantıyı etkinleştir</translation>
 <translation id="1572876035008611720">E-postanızı girin</translation>
+<translation id="1573632872794824374">Sitelerin bilgilerinizi daha az kullanarak aynı tarama deneyimini sunmasını sağlayan yeni özellikler keşfediyoruz</translation>
 <translation id="1575741822946219011">Diller ve girişler</translation>
 <translation id="1576594961618857597">Varsayılan beyaz avatar</translation>
 <translation id="1578558981922970608">Kapanmaya zorla</translation>
@@ -1370,6 +1372,7 @@
     <ph name="FOOTER_MESSAGE" /></translation>
 <translation id="2307630946657910723"><ph name="VISUAL_SEARCH_PROVIDER" /> ile sayfanın bir kısmında arama yap</translation>
 <translation id="2309620859903500144">Bu sitenin, hareket veya ışık sensörlerinize erişimi engellenmiştir.</translation>
+<translation id="2311721625890389967">↓</translation>
 <translation id="2312219318583366810">Sayfa URL'si</translation>
 <translation id="2314165183524574721">Mevcut görünürlük ayarı gizli</translation>
 <translation id="2314774579020744484">Sayfalar çevrilirken kullanılan dil</translation>
@@ -1636,6 +1639,7 @@
 <translation id="2553340429761841190"><ph name="PRODUCT_NAME" />, <ph name="NETWORK_ID" /> ağına bağlanamadı. Lütfen başka bir ağ seçin veya tekrar deneyin.</translation>
 <translation id="2553440850688409052">Bu Eklentiyi Gizle</translation>
 <translation id="2554553592469060349">Seçili dosya çok büyük (maks. boyut: 3 MB).</translation>
+<translation id="2558569818338050235">Tarama geçmişiniz, gördüğünüz reklamları etkiler</translation>
 <translation id="2558896001721082624">Sistem menüsünde erişilebilirlik seçeneklerini her zaman göster</translation>
 <translation id="2564520396658920462">JavaScript'i AppleScript üzerinden çalıştırma seçeneği kapalı. Bunu açmak için menü çubuğundan Görünüm &gt; Geliştirici &gt; Apple Events'ten JavaScript'e izin ver'e gidin. Daha fazla bilgi için: https://support.google.com/chrome/?p=applescript</translation>
 <translation id="2564653188463346023">Geliştirilmiş yazım denetimi</translation>
@@ -1769,6 +1773,7 @@
 <translation id="2709516037105925701">Otomatik doldurma</translation>
 <translation id="2710101514844343743">Kullanım ve teşhis verileri</translation>
 <translation id="271033894570825754">Yeni</translation>
+<translation id="2711073837061989559">Denemeler</translation>
 <translation id="2712173769900027643">İzin iste</translation>
 <translation id="2713106313042589954">Kamerayı kapat</translation>
 <translation id="2713444072780614174">Beyaz</translation>
@@ -1963,6 +1968,7 @@
 <translation id="288734198558082692"><ph name="DEVICE" /> ve <ph name="NUMBER_OF_DEVICES" /> tane daha</translation>
 <translation id="2889064240420137087">Bağlantıyı şununla aç...</translation>
 <translation id="2891922230654533301"><ph name="APP_NAME" /> üzerinde oturum açmak için cihazınız kullanılsın mı?</translation>
+<translation id="2893013536106749396">Önemli bulduğunuz konularda sizi bilgilendirecek kartları seçin</translation>
 <translation id="2893168226686371498">Varsayılan tarayıcı</translation>
 <translation id="2893180576842394309">Google; Arama ve diğer Google hizmetlerini kişiselleştirmek için geçmişinizi kullanabilir</translation>
 <translation id="2894757982205307093">Grupta yeni sekme</translation>
@@ -2076,6 +2082,7 @@
 <translation id="3003623123441819449">CSS Önbelleği</translation>
 <translation id="3003828226041301643">Cihaz alan adına eklenemiyor. Hesabınızı kontrol ederek, cihazları eklemek için gerekli ayrıcalıklara sahip olduğunuzdan emin olun.</translation>
 <translation id="3003967365858406397"><ph name="PHONE_NAME" /> telefonunuz özel kablosuz bağlantı oluşturur.</translation>
+<translation id="3005574332301273731">Gösterme</translation>
 <translation id="3006881078666935414">Kullanım verisi yok</translation>
 <translation id="3007771295016901659">Sekmeyi Çoğalt</translation>
 <translation id="3008232374986381779">Linux araçları, düzenleyicileri ve IDE'lerini <ph name="DEVICE_TYPE" /> cihazınızda çalıştırır. <ph name="LINK_BEGIN" />Daha fazla bilgi<ph name="LINK_END" /></translation>
@@ -2132,6 +2139,7 @@
 <translation id="3053013834507634016">Sertifika Anahtarı Kullanımı</translation>
 <translation id="3053273573829329829">Kullanıcı pin kodunu etkinleştir</translation>
 <translation id="3054766768827382232">Devre dışı bırakmak çevre birimlerinizin daha iyi bir performans göstermesini sağlayabilir ancak yetkisiz kullanımla kişisel verilerinizi görülür hale getirebilir</translation>
+<translation id="3055113921564083271">Kaldırdığınız ilgi alanları</translation>
 <translation id="3055590424724986000">Seçtiğiniz sağlayıcıyla</translation>
 <translation id="3058498974290601450">Senkronizasyonu istediğiniz zaman ayarlardan açabilirsiniz</translation>
 <translation id="3058517085907878899">Cihazı adlandır</translation>
@@ -2249,6 +2257,7 @@
 <translation id="3183944777708523606">Monitör düzenlemesi</translation>
 <translation id="3184536091884214176">CUPS yazıcıları kurun veya yönetin. <ph name="LINK_BEGIN" />Daha fazla bilgi<ph name="LINK_END" /></translation>
 <translation id="3185014249447200271">{NUM_APPS,plural, =1{Bu uygulama engellendi}other{Bazı uygulamalar engellendi}}</translation>
+<translation id="3187472288455401631">Reklam ölçümü</translation>
 <translation id="3188257591659621405">Dosyalarım</translation>
 <translation id="3188465121994729530">Hareketli Ortalama</translation>
 <translation id="3189187154924005138">Büyük imleç</translation>
@@ -2618,6 +2627,7 @@
 <translation id="3575121482199441727">Bu site için izin ver</translation>
 <translation id="3577745545227000795"><ph name="DEVICE_OS" /> donanım verileri toplama</translation>
 <translation id="3578594933904494462">Bu sekmenin içeriği paylaşılıyor.</translation>
+<translation id="3578874072190212775">Sitelerin sahtekarlıkla mücadele etmesine ve botları insanlardan ayırt etmesine yardımcı olun</translation>
 <translation id="3581605050355435601">IP adresini otomatik olarak yapılandır</translation>
 <translation id="3582057310199111521">Yanıltıcı bir sitede girildi ve veri ihlali kapsamında bulundu</translation>
 <translation id="3584169441612580296">Bilgisayarınızdaki fotoğrafları, müzikleri ve diğer medyaları okuma ve değiştirme</translation>
@@ -3068,6 +3078,7 @@
 <translation id="3979748722126423326"><ph name="NETWORKDEVICE" /> ağ cihazını etkinleştir</translation>
 <translation id="3981058120448670012"><ph name="REMAINING_TIME" /> boyunca yakındaki cihazlara <ph name="DEVICE_NAME" /> olarak gösterilecek...</translation>
 <translation id="3981760180856053153">Geçersiz kayıt türü girildi.</translation>
+<translation id="3981902534690264083">Reklamverenler, reklamların nasıl performans gösterdiğini anlayabilir</translation>
 <translation id="3982375475032951137">Tarayıcınızı birkaç basit adımda kurun</translation>
 <translation id="3983400541576569538">Bazı uygulamalara ait veriler kaybolabilir</translation>
 <translation id="3983586614702900908">bilinmeyen bir tedarikçi firmanın cihazları</translation>
@@ -4294,6 +4305,7 @@
 <translation id="5265797726250773323">Yükleme sırasında hata oluştu</translation>
 <translation id="5266113311903163739">Sertifika Yetkilisi İçe Aktarma Hatası</translation>
 <translation id="526622169288322445"><ph name="ADDRESS_SUMMARY" /> ile ilgili diğer işlemler</translation>
+<translation id="5268373933383932086">Sizin sayfanız, sizin tarzınız</translation>
 <translation id="5269977353971873915">Yazdırma Başarısız</translation>
 <translation id="5273806377963980154">Site URL'sini düzenle</translation>
 <translation id="5275352920323889391">Köpek</translation>
@@ -5106,6 +5118,7 @@
 <translation id="6080689532560039067">Sistem saatinizi kontrol edin</translation>
 <translation id="6082877069782862752">Tuş eşleme</translation>
 <translation id="608531959444400877"><ph name="WINDOW_TITLE" /> - Adsız grubun parçası</translation>
+<translation id="6085457109149794212">Chrome'u Özelleştir bölümündeki tüm kart seçeneklerini görün</translation>
 <translation id="6085886413119427067">Web siteleriyle güvenli bir bağlantı üzerinden nasıl bağlanılacağını belirler</translation>
 <translation id="6086004606538989567">Doğruladığınız hesabın bu cihaza erişim yetkisi yok.</translation>
 <translation id="6086846494333236931">Yöneticiniz tarafından yüklendi</translation>
@@ -5559,6 +5572,7 @@
 <translation id="6537613839935722475">Ad harf, sayı ve kısa çizgi (-) içerebilir</translation>
 <translation id="6538098297809675636">Kod algılanırken hata oluştu</translation>
 <translation id="653920215766444089">İşaretleme cihazı aranıyor</translation>
+<translation id="653983593749614101">Devam ediyor...</translation>
 <translation id="654039047105555694"><ph name="BEGIN_BOLD" />Not:<ph name="END_BOLD" /> Veri toplama işlemi performansı düşürebileceğinden sadece etkinleştirmenin sonuçlarını biliyorsanız veya etkinleştirmeniz istenmişse bunu yapın.</translation>
 <translation id="6540672086173674880">Google; Arama ve diğer Google hizmetlerini kişiselleştirmek için tarama geçmişinizi kullanabilir. Bunu istediğiniz zaman myaccount.google.com/activitycontrols/search adresinden değiştirebilirsiniz</translation>
 <translation id="6541638731489116978">Bu sitenin, hareket sensörlerinize erişimi engellenmiştir.</translation>
@@ -5774,6 +5788,7 @@
 <translation id="6767566652486411142">Başka Bir Dil Seç...</translation>
 <translation id="6767639283522617719">Alan adına katılınamıyor. Kuruluş birimi ayarlarının doğruluğundan emin olun.</translation>
 <translation id="6768034047581882264">Güvenli olmayan içerik göstermesine izin verilmeyen siteler</translation>
+<translation id="6770042910635026163">Ziyaret ettiğiniz ve ilgi alanlarınızı belirleyen siteler</translation>
 <translation id="6770602306803890733">Hem siz hem de web'deki herkes için güvenliği iyileştirir</translation>
 <translation id="6771503742377376720">Sertifika Yetkilisidir</translation>
 <translation id="6775163072363532304">Kullanılabilir cihazlar burada görünür.</translation>
@@ -6332,6 +6347,7 @@
 <translation id="7347943691222276892"><ph name="SUBPAGE_TITLE" /> sayfasından ayrılmak için tıklayın.</translation>
 <translation id="7348093485538360975">Ekran klavyesi</translation>
 <translation id="7349010927677336670">Videonun Düzgün Oynatılması</translation>
+<translation id="7352531447904559593">Tarayıcı bazlı reklam kişiselleştirme hakkında daha fazla bilgi edinin</translation>
 <translation id="7352651011704765696">Bir şeyler ters gitti</translation>
 <translation id="7353261921908507769">Kişileriniz yakındayken sizinle içerik paylaşabilirler. Siz kabul edene kadar aktarım başlamaz.</translation>
 <translation id="735361434055555355">Linux yükleniyor...</translation>
@@ -6621,6 +6637,7 @@
 <translation id="7631887513477658702">Bu Tür Dosyaları &amp;Her Zaman Aç</translation>
 <translation id="7632948528260659758">Aşağıdaki kiosk uygulamaları güncellenemedi:</translation>
 <translation id="7633724038415831385">Sadece bu sefer güncelleme için bekleyeceksiniz. Chromebook'larda yazılım güncellemeleri arka planda gerçekleşir.</translation>
+<translation id="7634280112532283638">Spam ve sahtekarlığı azaltma</translation>
 <translation id="7634566076839829401">Bir şeyler ters gitti. Lütfen tekrar deneyin.</translation>
 <translation id="7635048370253485243">Yöneticiniz tarafından sabitlendi</translation>
 <translation id="763632859238619983">Hiçbir sitenin ödeme işleyici yüklemesine izin verme</translation>
@@ -6972,6 +6989,7 @@
 <translation id="7957074856830851026">Seri numarası veya öğe kimliği gibi cihaz bilgilerini görüntüleyin</translation>
 <translation id="7957615753207896812">Klavye cihaz ayarlarını aç</translation>
 <translation id="7959074893852789871">Dosya birden çok sertifika içeriyordu, bunların bazıları içe aktarılmadı:</translation>
+<translation id="7959157064403954786">Daha şeffaf reklamları deneyin</translation>
 <translation id="7959665254555683862">Yeni Gizli Sekme</translation>
 <translation id="7961015016161918242">Hiçbir Zaman</translation>
 <translation id="7963001036288347286">Dokunmatik alan hızlandırması</translation>
@@ -7659,6 +7677,7 @@
 <translation id="866611985033792019">E-posta kullanıcılarını tanımlamak için bu sertifikaya güvenin</translation>
 <translation id="8666584013686199826">Bir site USB cihazlarına erişmek istediğinde sor</translation>
 <translation id="8667328578593601900"><ph name="FULLSCREEN_ORIGIN" /> artık tam ekran görüntüleniyor ve fare imlecinizi devre dışı bıraktı.</translation>
+<translation id="8667760277771450375">Sitelerin, reklam spam'ini ve sahtekarlığı durdurmasını sağlarken siteler arası izlemeyi kısıtlamanın yollarını da araştırıyoruz.</translation>
 <translation id="8668052347555487755">Renk modu</translation>
 <translation id="8669284339312441707">Daha Sıcak</translation>
 <translation id="8670537393737592796">Buraya hızlı bir şekilde geri dönmek için yükle düğmesini tıklayarak <ph name="APP_NAME" /> uygulamasını yükleyin</translation>
@@ -8260,6 +8279,7 @@
 <translation id="968000525894980488">Google Play hizmetlerini açın.</translation>
 <translation id="968037381421390582">Ya&amp;pıştır ve “<ph name="SEARCH_TERMS" />” Sorgusunu Ara</translation>
 <translation id="969096075394517431">Dilleri değiştir</translation>
+<translation id="969573236494556070">Siteler arası paylaşımı kısıtlayın</translation>
 <translation id="970047733946999531">{NUM_TABS,plural, =1{1 Sekme}other{# Sekme}}</translation>
 <translation id="971510864672937292"><ph name="SITE_NAME" /> sitesi ve buna bağlı tüm sitelerdeki site verileri ile izinler temizlensin mi?</translation>
 <translation id="971774202801778802">Yer işareti URL'si</translation>
diff --git a/chrome/app/resources/generated_resources_uk.xtb b/chrome/app/resources/generated_resources_uk.xtb
index 38312037f..92f80a7 100644
--- a/chrome/app/resources/generated_resources_uk.xtb
+++ b/chrome/app/resources/generated_resources_uk.xtb
@@ -63,6 +63,7 @@
 <translation id="1061130374843955397">Вас вітає пристрій <ph name="DEVICE_TYPE" /></translation>
 <translation id="1061373870045429865">Створити QR-код для цього посилання</translation>
 <translation id="1061904396131502319">Невдовзі час зробити перерву</translation>
+<translation id="1062628064301375934">Допоможіть нам розробити технології для кращої конфіденційності в мережі</translation>
 <translation id="1066613507389053689">Оновіть ОС Chrome</translation>
 <translation id="1067048845568873861">Створено</translation>
 <translation id="1067922213147265141">Інші сервіси Google</translation>
@@ -590,6 +591,7 @@
 <translation id="1572139610531470719"><ph name="WINDOW_TITLE" /> (гість)</translation>
 <translation id="1572266655485775982">Увімкнути Wi-Fi</translation>
 <translation id="1572876035008611720">Електронна адреса</translation>
+<translation id="1573632872794824374">Ми досліджуємо нові функції, з якими сайти могли б працювати як завжди, але використовувати менше вашої інформації</translation>
 <translation id="1575741822946219011">Мови та методи введення</translation>
 <translation id="1576594961618857597">Стандартний білий аватар</translation>
 <translation id="1578558981922970608">Примусово закрити</translation>
@@ -1388,6 +1390,7 @@
     <ph name="FOOTER_MESSAGE" /></translation>
 <translation id="2307630946657910723">Шукати на сторінці за допомогою технології <ph name="VISUAL_SEARCH_PROVIDER" /></translation>
 <translation id="2309620859903500144">Доступ цього сайту до датчиків руху чи світла заблоковано.</translation>
+<translation id="2311721625890389967">↓</translation>
 <translation id="2312219318583366810">URL-адреса сторінки</translation>
 <translation id="2314165183524574721">Поточне налаштування видимості: "Приховано"</translation>
 <translation id="2314774579020744484">Мова, що використовується для перекладу сторінок</translation>
@@ -1654,6 +1657,7 @@
 <translation id="2553340429761841190"><ph name="PRODUCT_NAME" /> не вдалося з'єднатися з <ph name="NETWORK_ID" />. Виберіть іншу мережу або повторіть спробу.</translation>
 <translation id="2553440850688409052">Сховати цей плагін</translation>
 <translation id="2554553592469060349">Вибраний файл завеликий (максимальний розмір – 3 МБ).</translation>
+<translation id="2558569818338050235">Ваша історія веб-перегляду впливає на оголошення, що вам показуються</translation>
 <translation id="2558896001721082624">Завжди показувати параметри спеціальних можливостей у системному меню</translation>
 <translation id="2564520396658920462">Виконання JavaScript через AppleScript вимкнено. Щоб увімкнути його, на панелі меню виберіть "Перегляд" &gt; "Для розробників" &gt; "Дозволити JavaScript від подій Apple". Щоб дізнатися більше, відвідайте сторінку https://support.google.com/chrome/?p=applescript</translation>
 <translation id="2564653188463346023">Покращена перевірка орфографії</translation>
@@ -1787,6 +1791,7 @@
 <translation id="2709516037105925701">Автозаповнення</translation>
 <translation id="2710101514844343743">Дані про використання й діагностику</translation>
 <translation id="271033894570825754">Новий</translation>
+<translation id="2711073837061989559">Пробні версії функцій</translation>
 <translation id="2712173769900027643">Запитувати дозвіл</translation>
 <translation id="2713106313042589954">Вимкнути камеру</translation>
 <translation id="2713444072780614174">Білий</translation>
@@ -1982,6 +1987,7 @@
 <translation id="288734198558082692">"<ph name="DEVICE" />" і ще <ph name="NUMBER_OF_DEVICES" /></translation>
 <translation id="2889064240420137087">Відкрити посилання за допомогою...</translation>
 <translation id="2891922230654533301">Увійти в додаток <ph name="APP_NAME" /> за допомогою пристрою?</translation>
+<translation id="2893013536106749396">Виберіть картки, з яких ви дізнаватиметеся важливі новини</translation>
 <translation id="2893168226686371498">Веб-переглядач за умовчанням</translation>
 <translation id="2893180576842394309">Google може використовувати вашу історію, щоб персоналізувати Пошук та інші сервіси Google</translation>
 <translation id="2894757982205307093">Нова вкладка в групі</translation>
@@ -2095,6 +2101,7 @@
 <translation id="3003623123441819449">Кеш CSS</translation>
 <translation id="3003828226041301643">Не вдається приєднати пристрій до домену. Перевірте обліковий запис, щоб переконатися, що ви можете додавати пристрої.</translation>
 <translation id="3003967365858406397">Пристрій <ph name="PHONE_NAME" /> створить приватне з’єднання Wi-Fi.</translation>
+<translation id="3005574332301273731">Не показувати</translation>
 <translation id="3006881078666935414">Немає даних про використання</translation>
 <translation id="3007771295016901659">Ідентична вкладка</translation>
 <translation id="3008232374986381779">Запускайте інструменти, редактори й ІСР Linux на пристрої <ph name="DEVICE_TYPE" />. <ph name="LINK_BEGIN" />Докладніше<ph name="LINK_END" /></translation>
@@ -2151,6 +2158,7 @@
 <translation id="3053013834507634016">Використання ключа сертифіката</translation>
 <translation id="3053273573829329829">Увімкнути PIN-код користувача</translation>
 <translation id="3054766768827382232">Це може покращити роботу периферійних пристроїв, але водночас підвищити ризик несанкціонованого використання ваших персональних даних.</translation>
+<translation id="3055113921564083271">Вилучені вами інтереси</translation>
 <translation id="3055590424724986000">Через вибраного вами постачальника</translation>
 <translation id="3058498974290601450">Ви можете будь-коли ввімкнути синхронізацію в налаштуваннях</translation>
 <translation id="3058517085907878899">Назвати пристрій</translation>
@@ -2268,6 +2276,7 @@
 <translation id="3183944777708523606">Налаштування екранів</translation>
 <translation id="3184536091884214176">Налаштувати принтери CUPS та керувати ними. <ph name="LINK_BEGIN" />Докладніше<ph name="LINK_END" /></translation>
 <translation id="3185014249447200271">{NUM_APPS,plural, =1{Цей додаток заблоковано}one{Деякі додатки заблоковано}few{Деякі додатки заблоковано}many{Деякі додатки заблоковано}other{Деякі додатки заблоковано}}</translation>
+<translation id="3187472288455401631">Оцінка ефективності реклами</translation>
 <translation id="3188257591659621405">Мої файли</translation>
 <translation id="3188465121994729530">Середня швидкість переміщення курсора</translation>
 <translation id="3189187154924005138">Великий курсор</translation>
@@ -2637,6 +2646,7 @@
 <translation id="3575121482199441727">Дозволити для цього сайту</translation>
 <translation id="3577745545227000795">Збір даних із пристрою "<ph name="DEVICE_OS" />"</translation>
 <translation id="3578594933904494462">До вмісту цієї вкладки надано доступ.</translation>
+<translation id="3578874072190212775">Допоможіть сайтам боротись із шахрайством і відрізняти ботів від людей</translation>
 <translation id="3581605050355435601">Автоматичне налаштування ІР-адреси</translation>
 <translation id="3582057310199111521">Введено на оманливому сайті та виявлено порушення безпеки даних</translation>
 <translation id="3584169441612580296">Читати й змінювати фотографії, музику та інші медіафайли на комп’ютері</translation>
@@ -3088,6 +3098,7 @@
 <translation id="3979748722126423326">Увімкнути <ph name="NETWORKDEVICE" /></translation>
 <translation id="3981058120448670012">Пристрої поблизу бачитимуть назву "<ph name="DEVICE_NAME" />" упродовж <ph name="REMAINING_TIME" />…</translation>
 <translation id="3981760180856053153">Введено недійсний тип збереження.</translation>
+<translation id="3981902534690264083">Рекламодавці можуть оцінити ефективність своїх оголошень</translation>
 <translation id="3982375475032951137">Налаштуйте веб-переглядач, виконавши прості дії</translation>
 <translation id="3983400541576569538">Дані з деяких додатків може бути втрачено</translation>
 <translation id="3983586614702900908">пристрої від невідомого постачальника</translation>
@@ -4315,6 +4326,7 @@
 <translation id="5265797726250773323">Помилка під час встановлення</translation>
 <translation id="5266113311903163739">Помилка імпортування центру сертифікації</translation>
 <translation id="526622169288322445">Додаткові дії з адресою "<ph name="ADDRESS_SUMMARY" />"</translation>
+<translation id="5268373933383932086">Персоналізовані налаштування сторінки</translation>
 <translation id="5269977353971873915">Помилка друку</translation>
 <translation id="5273806377963980154">Змінити URL-адресу сайту</translation>
 <translation id="5275352920323889391">Собака</translation>
@@ -5127,6 +5139,7 @@
 <translation id="6080689532560039067">Перевірте час системи</translation>
 <translation id="6082877069782862752">Прив’язка клавіш</translation>
 <translation id="608531959444400877"><ph name="WINDOW_TITLE" /> – частина групи без назви</translation>
+<translation id="6085457109149794212">Перегляньте всі варіанти карток у розділі "Налаштувати Chrome"</translation>
 <translation id="6085886413119427067">Визначає, як безпечно підключатися до веб-сайтів</translation>
 <translation id="6086004606538989567">Обліковий запис, який ви підтвердили, не має доступу до цього пристрою.</translation>
 <translation id="6086846494333236931">Установив адміністратор</translation>
@@ -5580,6 +5593,7 @@
 <translation id="6537613839935722475">Назва може містити літери, цифри та дефіси (-)</translation>
 <translation id="6538098297809675636">Помилка виявлення коду</translation>
 <translation id="653920215766444089">Пошук маніпулятора</translation>
+<translation id="653983593749614101">Відновлення…</translation>
 <translation id="654039047105555694"><ph name="BEGIN_BOLD" />Примітка.<ph name="END_BOLD" /> Вмикайте, лише якщо ви знаєте, що робите, або вас попросили це зробити, оскільки збір даних може знизити ефективність.</translation>
 <translation id="6540672086173674880">Google може використовувати вашу історію веб-перегляду для персоналізації Пошуку й інших сервісів. Це налаштування можна змінити на сторінці myaccount.google.com/activitycontrols/search</translation>
 <translation id="6541638731489116978">Цьому сайту заборонено доступ до датчиків руху.</translation>
@@ -5795,6 +5809,7 @@
 <translation id="6767566652486411142">Вибрати іншу мову…</translation>
 <translation id="6767639283522617719">Не вдається приєднатися до домену. Переконайтеся, що налаштування для організаційного підрозділу правильні.</translation>
 <translation id="6768034047581882264">Заборонено показувати незахищений контент</translation>
+<translation id="6770042910635026163">Відвідувані вами сайти, що визначають ваші інтереси</translation>
 <translation id="6770602306803890733">Покращує захист усіх користувачів в Інтернеті</translation>
 <translation id="6771503742377376720">Є Центром сертифікації</translation>
 <translation id="6775163072363532304">Тут відображатимуться доступні пристрої.</translation>
@@ -6353,6 +6368,7 @@
 <translation id="7347943691222276892">Натисніть, щоб вийти зі сторінки "<ph name="SUBPAGE_TITLE" />".</translation>
 <translation id="7348093485538360975">Екранна клавіатура</translation>
 <translation id="7349010927677336670">Плавність відтворення відео</translation>
+<translation id="7352531447904559593">Докладніше про персоналізацію реклами на основі даних веб-переглядача</translation>
 <translation id="7352651011704765696">Виникли проблеми</translation>
 <translation id="7353261921908507769">Користувачі з вашого списку контактів можуть надсилати вам дані, коли перебувають неподалік. Передача інформації розпочнеться, лише коли ви приймете запит.</translation>
 <translation id="735361434055555355">Встановлюється Linux…</translation>
@@ -6642,6 +6658,7 @@
 <translation id="7631887513477658702">&amp;Завжди відкривати файли цього типу</translation>
 <translation id="7632948528260659758">Не вдалось оновити такі додатки-термінали:</translation>
 <translation id="7633724038415831385">Це перший і останній раз, коли вам доводиться чекати, поки програмне забезпечення Chromebook оновиться. Надалі це відбуватиметься у фоновому режимі.</translation>
+<translation id="7634280112532283638">Боротьба зі спамом і шахрайством</translation>
 <translation id="7634566076839829401">Сталася помилка. Повторіть спробу.</translation>
 <translation id="7635048370253485243">Закріплено адміністратором</translation>
 <translation id="763632859238619983">Заборонити всім сайтам встановлювати обробники платежів</translation>
@@ -6994,6 +7011,7 @@
 <translation id="7957074856830851026">Переглядати інформацію з пристрою, наприклад серійний номер або ідентифікатор об'єкта</translation>
 <translation id="7957615753207896812">Відкрити налаштування клавіатури</translation>
 <translation id="7959074893852789871">Файл містив декілька сертифікатів, деякі з яких не було імпортовано:</translation>
+<translation id="7959157064403954786">Спробуйте прозорішу персоналізацію реклами</translation>
 <translation id="7959665254555683862">Нова анонімна вкладка</translation>
 <translation id="7961015016161918242">Ніколи</translation>
 <translation id="7963001036288347286">Прискорення на сенсорній панелі</translation>
@@ -7681,6 +7699,7 @@
 <translation id="866611985033792019">Довіряти цьому сертифікату для ідентифікації користувачів електронної пошти</translation>
 <translation id="8666584013686199826">Запитувати, коли сайт хоче отримати доступ до пристроїв USB</translation>
 <translation id="8667328578593601900">Сторінка <ph name="FULLSCREEN_ORIGIN" /> зараз відображається в повноекранному режимі та вимкнула курсор миші.</translation>
+<translation id="8667760277771450375">Ми досліджуємо способи обмежити міжсайтове відстеження, водночас допомагаючи сайтам протидіяти рекламному спаму та шахрайству.</translation>
 <translation id="8668052347555487755">Режим кольору</translation>
 <translation id="8669284339312441707">Тепло</translation>
 <translation id="8670537393737592796">Щоб швидко повертатися сюди, установіть додаток <ph name="APP_NAME" />, натиснувши цю кнопку</translation>
@@ -8285,6 +8304,7 @@
 <translation id="968000525894980488">Увімкніть сервіси Google Play.</translation>
 <translation id="968037381421390582">Вставити й шукати "<ph name="SEARCH_TERMS" />"</translation>
 <translation id="969096075394517431">Змінити мови</translation>
+<translation id="969573236494556070">Обмежте обмін даними між сайтами</translation>
 <translation id="970047733946999531">{NUM_TABS,plural, =1{1 вкладка}one{# вкладка}few{# вкладки}many{# вкладок}other{# вкладки}}</translation>
 <translation id="971510864672937292">Очистити дані та дозволи для сайту <ph name="SITE_NAME" /> і всіх сайтів його групи?</translation>
 <translation id="971774202801778802">URL-адреса закладки</translation>
diff --git a/chrome/app/resources/generated_resources_ur.xtb b/chrome/app/resources/generated_resources_ur.xtb
index a1398cc..afa60bbe 100644
--- a/chrome/app/resources/generated_resources_ur.xtb
+++ b/chrome/app/resources/generated_resources_ur.xtb
@@ -1424,6 +1424,7 @@
 <translation id="2349896577940037438">‏اگر آپ کی ویب اور ایپ کی اضافی سرگرمی کی ترتیب آن ہے تو اس ڈیٹا کو آپ کے Google اکاؤنٹ میں محفوظ کیا جا سکتا ہے۔ آپ account.google.com پر اپنا ڈیٹا دیکھ سکتے ہیں، اسے حذف کر سکتے ہیں اور اپنی اکاؤنٹ کی ترتیبات تبدیل کر سکتے ہیں۔</translation>
 <translation id="2350133097354918058">دوبارہ لوڈ کی گئی</translation>
 <translation id="2350182423316644347">ایپلیکیشن شروع ہو رہی ہے…</translation>
+<translation id="235028206512346451">اگر آپ اپنے آلے سے دور ہو جاتے ہیں تو آپ کی اسکرین خودکار طور پر مقفل ہو جائے گی۔ آلہ کے سامنے رہنے پر اسکرین زیادہ دیر تک آن رہے گی۔ اگر آپ مقفل اسکرین استعمال نہیں کر رہے ہیں تو آپ کا آلہ مقفل ہونے کے بجائے سلیپ وضع میں چلا جائے گا۔</translation>
 <translation id="2352495879228166246">{NUM_ITEMS,plural, =1{1 آئٹم}other{{NUM_ITEMS} آئٹمز}}</translation>
 <translation id="2352662711729498748">‎&lt; 1 MB</translation>
 <translation id="2352810082280059586">مقفل اسکرین کے نوٹس خودکار طور پر <ph name="LOCK_SCREEN_APP_NAME" /> میں محفوظ ہوتے ہیں۔ آپ کا حالیہ ترین نوٹ مقفل اسکرین پر باقی رہے گا۔</translation>
@@ -1967,6 +1968,7 @@
 <translation id="2886771036282400576">• <ph name="PERMISSION" /></translation>
 <translation id="288734198558082692"><ph name="DEVICE" /> اور <ph name="NUMBER_OF_DEVICES" /> دیگر</translation>
 <translation id="2889064240420137087">اس کے ساتھ لنک کھولیں…</translation>
+<translation id="2891566119238851894">سائیڈ پینل میں تلاش ٹول بار کو کھولیں۔ سائیڈ پینل میں تلاش ٹول بار کھلا نہیں ہے۔</translation>
 <translation id="2891922230654533301"><ph name="APP_NAME" /> میں سائن ان کرنے کیلئے آپ کے آلے کا استعمال کریں؟</translation>
 <translation id="2893013536106749396">ایسے کارڈز کا انتخاب کریں جو آپ کو ان چیزوں کے بارے میں اپ ڈیٹ کرتے رہیں جو آپ کے لیے اہم ہیں</translation>
 <translation id="2893168226686371498">ڈیفالٹ براؤزر</translation>
@@ -2730,6 +2732,7 @@
 <translation id="3677959414150797585">ایپس، ویب صفحات اور مزید شامل ہے۔ یہ تجاویز کو بہتر بنانے کے لیے اعداد و شمار صرف تب بھیجتا ہے جب آپ نے استعمال کے ڈیٹا کا اشتراک کرنے کو منتخب کیا ہو۔</translation>
 <translation id="3678156199662914018">ایکسٹینشن: <ph name="EXTENSION_NAME" /></translation>
 <translation id="3678188444105291936">آپ اس ونڈو میں جو صفحات دیکھتے ہیں وہ براؤزر کی سرگزشت میں ظاہر نہیں ہوں گے اور وہ آپ کے سائن آؤٹ ہو جانے کے بعد کوکیز جیسے دیگر نشانات کمپیوٹر پر نہیں چھوڑیں گے۔ آپ جو فائلیں ڈاؤن لوڈ کرتے ہیں اور جو بُک مارکس بناتے ہیں انہیں برقرار نہیں رکھا جائے گا۔</translation>
+<translation id="368019053277764111">سائیڈ پینل میں تلاش ٹول بار کھولیں</translation>
 <translation id="3680683624079082902">ٹیکسٹ ٹو اسپیچ آواز</translation>
 <translation id="3681311097828166361">آپ کے تاثرات کا شکریہ۔ آپ ابھی آف لائن ہیں اور آپ کی رپورٹ بعد میں بھیجی جائے گی۔</translation>
 <translation id="3682824389861648626">حرکت کی حد</translation>
@@ -4842,6 +4845,7 @@
 <translation id="5799478978078236781"><ph name="DEVICE_TYPE" /> کی تجاویز، پیشکشیں اور اپ ڈیٹس حاصل کریں اور تاثرات کا اشتراک کریں۔</translation>
 <translation id="5799508265798272974">‏Linux ورچوئل مشین: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">مقصود فائل کو پچھلے ڈاؤن لوڈ کے بعد سے چھانٹ یا ہٹا دیا گیا تھا۔</translation>
+<translation id="5800351251499368110">سائیڈ پینل میں تلاش ٹول بار کو بند کریں۔ سائیڈ پینل میں تلاش ٹول بار کھلا ہے۔</translation>
 <translation id="5801568494490449797">ترجیحات</translation>
 <translation id="5804241973901381774">اجازتیں</translation>
 <translation id="5805697420284793859">ونڈو مینیجر</translation>
@@ -6357,6 +6361,7 @@
 <translation id="7356908624372060336">نیٹ ورک لاگز</translation>
 <translation id="735745346212279324">‏VPN منقطع ہو گیا</translation>
 <translation id="7358324924540718595">آج کیلئے مخفی میموریز</translation>
+<translation id="7358338787722390626">سائیڈ پینل میں تلاش ٹول بار کو بند کریں</translation>
 <translation id="735994578317267253">‏کسی بھی ChromeOS آلہ پر اپنی ایپس، ترتیبات وغیرہ حاصل کریں</translation>
 <translation id="7360233684753165754"><ph name="PRINTER_NAME" /> کیلئے <ph name="PAGE_NUMBER" /> صفحات</translation>
 <translation id="7361297102842600584"><ph name="PLUGIN_NAME" /> چلانے کیلئے دایاں کلک کریں</translation>
diff --git a/chrome/app/resources/generated_resources_vi.xtb b/chrome/app/resources/generated_resources_vi.xtb
index 343d66a..5390df68 100644
--- a/chrome/app/resources/generated_resources_vi.xtb
+++ b/chrome/app/resources/generated_resources_vi.xtb
@@ -1436,6 +1436,7 @@
 <translation id="2349896577940037438">Nếu bạn bật tùy chọn cài đặt Hoạt động trên web và ứng dụng bổ sung, thì dữ liệu này có thể được lưu vào Tài khoản Google của bạn. Bạn có thể xem, xóa dữ liệu và thay đổi các tùy chọn cài đặt tài khoản của mình tại account.google.com.</translation>
 <translation id="2350133097354918058">Đã tải lại</translation>
 <translation id="2350182423316644347">Đang chạy ứng dụng...</translation>
+<translation id="235028206512346451">Nếu bạn rời khỏi thiết bị, màn hình của thiết bị sẽ tự động khoá. Khi bạn ở đối diện thiết bị, màn hình sẽ kéo dài thời gian không khoá. Nếu bạn không sử dụng màn hình khoá, thiết bị sẽ ngủ mà không khoá.</translation>
 <translation id="2352495879228166246">{NUM_ITEMS,plural, =1{1 mục}other{{NUM_ITEMS} mục}}</translation>
 <translation id="2352662711729498748">&lt; 1 MB</translation>
 <translation id="2352810082280059586">Ghi chú trên màn hình khóa được tự động lưu vào <ph name="LOCK_SCREEN_APP_NAME" />. Ghi chú mới nhất của bạn sẽ vẫn còn trên màn hình khóa.</translation>
@@ -1978,6 +1979,7 @@
 <translation id="2886771036282400576">• <ph name="PERMISSION" /></translation>
 <translation id="288734198558082692"><ph name="DEVICE" /> và <ph name="NUMBER_OF_DEVICES" /> thiết bị khác</translation>
 <translation id="2889064240420137087">Mở đường liên kết bằng...</translation>
+<translation id="2891566119238851894">Mở thanh tìm kiếm trong bảng điều khiển bên. Thanh tìm kiếm hiện không mở trong bảng điều khiển bên.</translation>
 <translation id="2891922230654533301">Dùng thiết bị của bạn để đăng nhập vào <ph name="APP_NAME" />?</translation>
 <translation id="2893168226686371498">Trình duyệt mặc định</translation>
 <translation id="2893180576842394309">Google có thể sử dụng lịch sử của bạn để điều chỉnh tính năng Tìm kiếm và các dịch vụ khác của Google cho phù hợp với bạn</translation>
@@ -2736,6 +2738,7 @@
 <translation id="3677959414150797585">Bao gồm ứng dụng, trang web và nhiều nội dung khác. Chỉ gửi số liệu thống kê để cải thiện nội dung đề xuất nếu bạn chọn chia sẻ dữ liệu sử dụng.</translation>
 <translation id="3678156199662914018">Tiện ích: <ph name="EXTENSION_NAME" /></translation>
 <translation id="3678188444105291936">Những trang bạn xem trong cửa sổ này sẽ không xuất hiện trong nhật ký duyệt web của trình duyệt, cũng như không để lại dấu vết khác (chẳng hạn như cookie) trên máy tính sau khi bạn đăng xuất. Hệ thống sẽ không lưu giữ các tệp bạn tải xuống và dấu trang bạn tạo.</translation>
+<translation id="368019053277764111">Mở thanh tìm kiếm trong bảng điều khiển bên</translation>
 <translation id="3680683624079082902">Giọng nói của tính năng chuyển văn bản sang lời nói</translation>
 <translation id="3681311097828166361">Cảm ơn bạn đã phản hồi. Bạn hiện đang ngoại tuyến và báo cáo của bạn sẽ được gửi sau.</translation>
 <translation id="3682824389861648626">Ngưỡng chuyển động</translation>
@@ -4846,6 +4849,7 @@
 <translation id="5799478978078236781">Nhận các mẹo, ưu đãi và thông tin cập nhật về <ph name="DEVICE_TYPE" />, cũng như chia sẻ ý kiến phản hồi.</translation>
 <translation id="5799508265798272974">Máy ảo Linux: <ph name="LINUX_VM_NAME" /></translation>
 <translation id="5800020978570554460">Tệp đích đã bị cắt bớt hoặc xóa kể từ lần tải xuống cuối cùng.</translation>
+<translation id="5800351251499368110">Đóng thanh tìm kiếm trong bảng điều khiển bên. Thanh tìm kiếm đang mở trong bảng điều khiển bên.</translation>
 <translation id="5801568494490449797">Tùy chọn</translation>
 <translation id="5804241973901381774">Quyền</translation>
 <translation id="5805697420284793859">Trình quản lý cửa sổ</translation>
@@ -6357,6 +6361,7 @@
 <translation id="7356908624372060336">Nhật ký mạng</translation>
 <translation id="735745346212279324">Đã ngắt kết nối VPN</translation>
 <translation id="7358324924540718595">Đã ẩn những kỷ niệm cho hôm nay</translation>
+<translation id="7358338787722390626">Đóng thanh tìm kiếm trong bảng điều khiển bên</translation>
 <translation id="735994578317267253">Truy cập ứng dụng, chế độ cài đặt, v.v. trên mọi thiết bị ChromeOS</translation>
 <translation id="7360233684753165754"><ph name="PAGE_NUMBER" /> trang tới <ph name="PRINTER_NAME" /></translation>
 <translation id="7361297102842600584">Nhấp chuột phải để chạy <ph name="PLUGIN_NAME" /></translation>
diff --git a/chrome/app/resources/google_chrome_strings_da.xtb b/chrome/app/resources/google_chrome_strings_da.xtb
index 646f5fa..04b1f7d 100644
--- a/chrome/app/resources/google_chrome_strings_da.xtb
+++ b/chrome/app/resources/google_chrome_strings_da.xtb
@@ -77,6 +77,7 @@
 <translation id="2665296953892887393">Vær med til at gøre Google Chrome bedre ved at sende fejlrapporter og <ph name="UMA_LINK" /> til Google</translation>
 <translation id="2689103672227170538">Denne udvidelse har ændret din startside i Chrome.</translation>
 <translation id="2742320827292110288">Advarsel! Google Chrome kan ikke forhindre udvidelser i at registrere din browserhistorik. Fjern markeringen af denne valgmulighed for at deaktivere denne udvidelse i inkognitotilstand.</translation>
+<translation id="2746842245914314523">Du kan få flere oplysninger om disse funktioner i Chrome-indstillingerne. Under prøveperioder er din interaktion med websites muligvis ikke mere privat, end den ville være uden disse nye funktioner.</translation>
 <translation id="2765403129283291972">Chrome skal have tilladelse til at bruge din mikrofon på dette website</translation>
 <translation id="2770231113462710648">Skift standardbrowser til:</translation>
 <translation id="2775140325783767197">Chrome kan ikke tjekke dine adgangskoder. Prøv at tjekke din internetforbindelse.</translation>
@@ -131,11 +132,13 @@
 <translation id="3785324443014631273">ChromeOS Flex kunne ikke synkronisere dine data på grund af en fejl under login.</translation>
 <translation id="3835168907083856002">Denne handling vil oprette en ny Chrome-profil til <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="386202838227397562">Luk alle Google Chrome-vinduer, og prøv igen.</translation>
+<translation id="3862592757180800623">Du kan til enhver tid ombestemme dig og fravælge dette i Chrome-indstillingerne. Under prøveperioder er din interaktion med websites muligvis ikke mere privat, end den ville være uden disse nye funktioner.</translation>
 <translation id="3865754807470779944">Chrome version <ph name="PRODUCT_VERSION" /> er installeret</translation>
 <translation id="3873044882194371212">Åbn linket i et inko&amp;gnitovindue i Chrome</translation>
 <translation id="3889417619312448367">Afinstaller Google Chrome</translation>
 <translation id="4050175100176540509">Vigtige sikkerhedsforbedringer og nye funktioner er tilgængelige i den seneste version.</translation>
 <translation id="4053720452172726777">Tilpas Google Chrome</translation>
+<translation id="4106587138345390261">Chrome afprøver nye funktioner, der giver websites mulighed for at levere den samme browseroplevelse uden at bruge så mange af dine oplysninger</translation>
 <translation id="4110895483821904099">Konfigurer din nye Chrome-profil</translation>
 <translation id="4147555960264124640">Du er ved at logge ind med en managerstyret konto og give dens administrator kontrol over din profil i Google Chrome. Dine Chrome-data, f.eks. dine apps, bogmærker, historikdata, adgangskoder og andre indstillinger, knyttes permanent til <ph name="USER_NAME" />. Du kan slette disse data via kontrolpanelet for Google Konti, men du kan ikke knytte disse data til en anden konto. <ph name="LEARN_MORE" /></translation>
 <translation id="4149882025268051530">Installationsprogrammet kunne ikke pakke arkivet ud. Download Google Chrome igen.</translation>
@@ -144,6 +147,7 @@
 <translation id="4242034826641750751">Chrome skal have adgangstilladelse til kamera og mikrofon for at bruge dette website</translation>
 <translation id="424864128008805179">Vil du logge ud af Chrome?</translation>
 <translation id="4251615635259297716">Vil du linke dine Chrome-data til denne konto?</translation>
+<translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Disse data bruges:<ph name="END_BOLD" /> Din browserhistorik, dvs. en oversigt over, hvilke websites du har besøgt i Chrome på denne enhed.</translation>
 <translation id="4281844954008187215">Servicevilkår</translation>
 <translation id="4293420128516039005">Log ind for at synkronisere og tilpasse Chrome på alle dine enheder</translation>
 <translation id="4325083532956419387">Chrome OS-version</translation>
@@ -300,10 +304,12 @@
 <translation id="8290100596633877290">Hovsa! Google Chrome er gået ned. Vil du genstarte nu?</translation>
 <translation id="8342675569599923794">Denne fil er farlig, så Chrome har blokeret den.</translation>
 <translation id="8370517070665726704">Copyright <ph name="YEAR" /> Google LLC. Alle rettigheder forbeholdes.</translation>
+<translation id="8383226135083126309"><ph name="BEGIN_BOLD" />Sådan bruger vi disse data:<ph name="END_BOLD" /> Chrome kan estimere dine interesser. Senere kan et website, du besøger, anmode Chrome om at se dine interesser med henblik på at tilpasse de annoncer, du ser.</translation>
 <translation id="8394720698884623075">Webadresser tjekkes i forhold til en liste over usikre websites, der er gemt i Chrome</translation>
 <translation id="840084489713044809">Google Chrome anmoder om at eksportere dine adgangskoder.</translation>
 <translation id="8433638294851456451">Hvis du vil sende et nummer fra denne enhed til din Android-telefon, skal du logge ind på Chrome på begge enheder.</translation>
 <translation id="8498858610309223613">En særlig sikkerhedsopdatering til Google Chrome blev netop anvendt. Genstart nu, hvorefter vi gendanner dine faner.</translation>
+<translation id="8516431725144212809">Dine interesser, som de er estimeret af Chrome</translation>
 <translation id="8521348052903287641">Indgående regel for udviklerversionen af Chrome om at tillade mDNS-trafik.</translation>
 <translation id="8540666473246803645">Google Chrome</translation>
 <translation id="8550334526674375523">Denne arbejdsprofil er totalt adskilt fra din personlige profile.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_pa.xtb b/chrome/app/resources/google_chrome_strings_pa.xtb
index 05d08df..03931c37d 100644
--- a/chrome/app/resources/google_chrome_strings_pa.xtb
+++ b/chrome/app/resources/google_chrome_strings_pa.xtb
@@ -81,6 +81,7 @@
 <translation id="2665296953892887393">Google ਨੂੰ ਵਰਤੋਂ ਅੰਕੜੇ ਅਤੇ ਕ੍ਰੈਸ਼ ਰਿਪੋਰਟਾਂ ਅਤੇ <ph name="UMA_LINK" /> ਭੇਜ ਕੇ Google Chrome ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰੋ</translation>
 <translation id="2689103672227170538">ਇਸ ਐਕਸਟੈਂਸ਼ਨ ਨੇ ਤੁਹਾਡੇ ਵੱਲੋਂ Chrome ਸ਼ੁਰੂ ਕੀਤਾ ਜਾਣ ਵੇਲੇ ਦਿਖਾਏ ਜਾਣ ਵਾਲੇ ਪੰਨੇ ਨੂੰ ਬਦਲ ਦਿੱਤਾ ਹੈ।</translation>
 <translation id="2742320827292110288">ਚਿਤਾਵਨੀ: Google Chrome ਐਕਸਟੈਂਸ਼ਨਾਂ ਨੂੰ ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਿੰਗ ਇਤਿਹਾਸ ਨੂੰ ਰਿਕਾਰਡ ਕਰਨ ਤੋਂ ਨਹੀਂ ਰੋਕ ਸਕਦਾ। ਇਨਕੋਗਨਿਟੋ ਮੋਡ ਵਿੱਚ ਇਸ ਐਕਸਟੈਂਸ਼ਨ ਨੂੰ ਬੰਦ ਕਰਨ ਲਈ, ਇਸ ਵਿਕਲਪ ਨੂੰ ਅਣਚੁਣਿਆ ਕਰੋ।</translation>
+<translation id="2746842245914314523">ਤੁਸੀਂ Chrome ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਇਨ੍ਹਾਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਬਾਰੇ ਹੋਰ ਜਾਣ ਸਕਦੇ ਹੋ। ਪਰਖਾਂ ਦੌਰਾਨ, ਸਾਈਟਾਂ ਨਾਲ ਤੁਹਾਡੀ ਅੰਤਰਕਿਰਿਆ ਉੰਨੀ ਨਿੱਜੀ ਨਹੀਂ ਹੋ ਸਕਦੀ ਜਿੰਨੀ ਇਨ੍ਹਾਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਤੋਂ ਬਿਨਾਂ ਹੁੰਦੀ ਹੈ।</translation>
 <translation id="2765403129283291972">Chrome ਨੂੰ ਇਸ ਸਾਈਟ ਵਾਸਤੇ ਤੁਹਾਡੇ ਮਾਈਕ੍ਰੋਫ਼ੋਨ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਲਈ ਇਜਾਜ਼ਤ ਦੀ ਲੋੜ ਹੈ</translation>
 <translation id="2770231113462710648">ਪੂਰਵ-ਨਿਰਧਾਰਤ ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਇਸ ਵਿੱਚ ਬਦਲੋ:</translation>
 <translation id="2775140325783767197">Chrome ਤੁਹਾਡੇ ਪਾਸਵਰਡਾਂ ਦੀ ਜਾਂਚ ਨਹੀਂ ਕਰ ਸਕਦਾ। ਆਪਣੇ ਇੰਟਰਨੈੱਟ ਕਨੈਕਸ਼ਨ ਦੀ ਜਾਂਚ ਕਰਕੇ ਦੇਖੋ।</translation>
@@ -135,11 +136,13 @@
 <translation id="3785324443014631273">ChromeOS Flex ਸਾਈਨ-ਇਨ ਕਰਨ ਵੇਲੇ ਗੜਬੜ ਹੋਣ ਕਰਕੇ ਤੁਹਾਡਾ ਡਾਟਾ ਸਿੰਕ ਨਹੀਂ ਕਰ ਸਕਿਆ।</translation>
 <translation id="3835168907083856002">ਇਸ ਨਾਲ <ph name="USER_EMAIL_ADDRESS" /> ਲਈ ਨਵਾਂ Chrome ਪ੍ਰੋਫਾਈਲ ਬਣਾਇਆ ਜਾਵੇਗਾ</translation>
 <translation id="386202838227397562">ਕਿਰਪਾ ਕਰਕੇ ਸਾਰੀਆਂ Google Chrome ਵਿੰਡੋਆਂ ਨੂੰ ਬੰਦ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।</translation>
+<translation id="3862592757180800623">ਤੁਸੀਂ Chrome ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਜਾ ਕੇ ਕਿਸੇ ਵੇਲੇ ਵੀ ਆਪਣਾ ਮਨ ਬਦਲ ਸਕਦੇ ਹੋ। ਪਰਖਾਂ ਦੌਰਾਨ, ਸਾਈਟਾਂ ਨਾਲ ਤੁਹਾਡੀ ਅੰਤਰਕਿਰਿਆ ਉੰਨੀ ਨਿੱਜੀ ਨਹੀਂ ਹੋ ਸਕਦੀ ਜਿੰਨੀ ਇਨ੍ਹਾਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਤੋਂ ਬਿਨਾਂ ਹੁੰਦੀ ਹੈ।</translation>
 <translation id="3865754807470779944">Chrome ਵਰਜਨ <ph name="PRODUCT_VERSION" /> ਸਥਾਪਤ ਹੈ</translation>
 <translation id="3873044882194371212">Chrome ਇਨ&amp;ਕੋਗਨਿਟੋ ਵਿੰਡੋ ਵਿੱਚ ਲਿੰਕ ਖੋਲ੍ਹੋ</translation>
 <translation id="3889417619312448367">Google Chrome ਨੂੰ ਅਣਸਥਾਪਤ ਕਰੋ</translation>
 <translation id="4050175100176540509">ਮਹੱਤਵਪੂਰਣ ਸੁਰੱਖਿਆ ਸੁਧਾਰ ਅਤੇ ਨਵੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨਵੇਂ ਰੂਪ ਵਿੱਚ ਉਪਲਬਧ ਹਨ।</translation>
 <translation id="4053720452172726777">Google Chrome ਨੂੰ ਵਿਉਂਤਬੱਧ ਕਰਕੇ ਕੰਟਰੋਲ ਕਰੋ।</translation>
+<translation id="4106587138345390261">Chrome ਨਵੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਪੜਚੋਲ ਕਰ ਰਿਹਾ ਹੈ ਜੋ ਸਾਈਟਾਂ ਨੂੰ ਤੁਹਾਡੀ ਘੱਟ ਜਾਣਕਾਰੀ ਦੀ ਵਰਤੋਂ ਦੇ ਨਾਲ ਉਹੀ ਬ੍ਰਾਊਜ਼ਿੰਗ ਅਨੁਭਵ ਪ੍ਰਦਾਨ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀਆਂ ਹਨ</translation>
 <translation id="4110895483821904099">ਆਪਣੇ ਨਵੇਂ Chrome ਪ੍ਰੋਫਾਈਲ ਦਾ ਸੈੱਟਅੱਪ ਕਰੋ</translation>
 <translation id="4147555960264124640">ਤੁਸੀਂ ਇੱਕ ਪ੍ਰਬੰਧਿਤ ਖਾਤੇ ਨਾਲ ਸਾਈਨ-ਇਨ ਕਰ ਰਹੇ ਹੋ ਅਤੇ ਇਸ ਪ੍ਰਬੰਧਕ ਨੂੰ ਆਪਣੀ Google Chrome ਪ੍ਰੋਫਾਈਲ 'ਤੇ ਕੰਟਰੋਲ ਪ੍ਰਦਾਨ ਕਰ ਰਹੇ ਹੋ। ਤੁਹਾਡਾ Chrome ਡਾਟਾ, ਜਿਵੇਂ ਕਿ ਤੁਹਾਡੀਆਂ ਐਪਾਂ, ਬੁੱਕਮਾਰਕਾਂ, ਇਤਿਹਾਸ, ਪਾਸਵਰਡਾਂ ਅਤੇ ਹੋਰ ਸੈਟਿੰਗਾਂ <ph name="USER_NAME" /> ਨਾਲ ਸਥਾਈ ਤੌਰ 'ਤੇ ਜੋੜੀਆਂ ਜਾਣਗੀਆਂ। ਤੁਸੀਂ ਇਸ ਡਾਟਾ ਨੂੰ Google ਖਾਤੇ ਡੈਸ਼ਬੋਰਡ ਰਾਹੀਂ ਮਿਟਾ ਸਕੋਗੇ, ਪਰੰਤੂ ਤੁਸੀਂ ਇਸ ਡਾਟਾ ਨੂੰ ਦੂਜੇ ਖਾਤੇ ਨਾਲ ਨਹੀਂ ਜੋੜ ਸਕੋਗੇ। <ph name="LEARN_MORE" /></translation>
 <translation id="4149882025268051530">ਸਥਾਪਨਾਕਾਰ ਪੁਰਾਲੇਖ ਦੇ ਨਪੀੜਨ ਨੂੰ ਵਾਪਸ ਕਰਨ ਵਿੱਚ ਅਸਫਲ ਰਿਹਾ। ਕਿਰਪਾ ਕਰਕੇ Google Chrome ਨੂੰ ਦੁਬਾਰਾ ਡਾਊਨਲੋਡ ਕਰੋ।</translation>
@@ -148,6 +151,7 @@
 <translation id="4242034826641750751">Chrome ਨੂੰ ਇਸ ਸਾਈਟ ਲਈ ਕੈਮਰਾ ਅਤੇ ਮਾਈਕ੍ਰੋਫ਼ੋਨ ਇਜਾਜ਼ਤ ਦੀ ਲੋੜ ਹੈ</translation>
 <translation id="424864128008805179">ਕੀ Chrome ਤੋਂ ਸਾਈਨ-ਆਊਟ ਹੋਣਾ ਹੈ?</translation>
 <translation id="4251615635259297716">ਕੀ ਤੁਹਾਡਾ Chrome ਡਾਟਾ ਇਸ ਖਾਤੇ ਨਾਲ ਲਿੰਕ ਕਰਨਾ ਹੈ?</translation>
+<translation id="4262915912852657291"><ph name="BEGIN_BOLD" />ਕਿਹੜਾ ਡਾਟਾ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ:<ph name="END_BOLD" /> ਤੁਹਾਡਾ ਬ੍ਰਾਊਜ਼ਿੰਗ ਇਤਿਹਾਸ, ਇਸ ਡੀਵਾਈਸ 'ਤੇ ਉਨ੍ਹਾਂ ਸਾਈਟਾਂ ਦਾ ਰਿਕਾਰਡ ਜਿਨ੍ਹਾਂ 'ਤੇ ਤੁਸੀਂ Chrome ਦੀ ਵਰਤੋਂ ਨਾਲ ਗਏ ਹੋ।</translation>
 <translation id="4281844954008187215">ਸੇਵਾ ਦੀਆਂ ਮਦਾਂ</translation>
 <translation id="4293420128516039005">ਸਿੰਕ ਕਰਨ ਲਈ ਸਾਈਨ-ਇਨ ਕਰਕੇ ਆਪਣੇ ਡੀਵਾਈਸਾਂ ਵਿਚਾਲੇ Chrome ਨੂੰ ਵਿਅਕਤੀਗਤ ਬਣਾਓ</translation>
 <translation id="4325083532956419387">Chrome OS ਵਰਜਨ</translation>
@@ -308,10 +312,12 @@
 <translation id="8290100596633877290">ਠਹਿਰੋ! Google Chrome ਕ੍ਰੈਸ਼ ਹੋ ਗਿਆ ਹੈ। ਕੀ ਹੁਣ ਮੁੜ-ਲਾਂਚ ਕਰਨਾ ਹੈ?</translation>
 <translation id="8342675569599923794">ਇਹ ਫ਼ਾਈਲ ਖਤਰਨਾਕ ਹੈ, ਇਸ ਲਈ Chrome ਨੇ ਇਸਨੂੰ ਬਲਾਕ ਕਰ ਦਿੱਤਾ ਹੈ।</translation>
 <translation id="8370517070665726704">Copyright <ph name="YEAR" /> Google LLC. ਸਾਰੇ ਹੱਕ ਰਾਖਵੇਂ ਹਨ।</translation>
+<translation id="8383226135083126309"><ph name="BEGIN_BOLD" />ਅਸੀਂ ਇਸ ਡਾਟੇ ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰਦੇ ਹਾਂ:<ph name="END_BOLD" /> Chrome ਤੁਹਾਡੀਆਂ ਦਿਲਚਸਪੀਆਂ ਦਾ ਅੰਦਾਜ਼ਾ ਲਗਾ ਸਕਦਾ ਹੈ। ਬਾਅਦ ਵਿੱਚ, ਤੁਸੀਂ ਜਿਹੜੀ ਸਾਈਟ 'ਤੇ ਜਾਂਦੇ ਹੋ ਉਹ Chrome ਨੂੰ ਤੁਹਾਡੇ ਵੱਲੋਂ ਦੇਖੇ ਜਾਣ ਵਾਲੇ ਵਿਗਿਆਪਨਾਂ ਨੂੰ ਵਿਅਕਤੀਗਤ ਬਣਾਉਣ ਵਾਸਤੇ ਤੁਹਾਡੀਆਂ ਦਿਲਚਸਪੀਆਂ ਨੂੰ ਦੇਖਣ ਲਈ ਕਹਿ ਸਕਦੀ ਹੈ।</translation>
 <translation id="8394720698884623075">Chrome ਵਿੱਚ ਸਟੋਰ ਕੀਤੀਆਂ ਅਸੁਰੱਖਿਅਤ ਸਾਈਟਾਂ ਦੀ ਸੂਚੀ ਨਾਲ URL ਦੀ ਜਾਂਚ ਕੀਤੀ ਜਾਂਦੀ ਹੈ</translation>
 <translation id="840084489713044809">Google Chrome ਤੁਹਾਡੇ ਪਾਸਵਰਡ ਨਿਰਯਾਤ ਕਰਨਾ ਚਾਹੁੰਦਾ ਹੈ।</translation>
 <translation id="8433638294851456451">ਇੱਥੋਂ ਆਪਣੇ Android ਫ਼ੋਨ 'ਤੇ ਨੰਬਰ ਭੇਜਣ ਲਈ, ਦੋਵੇਂ ਡੀਵਾਈਸਾਂ 'ਤੇ Chrome ਵਿੱਚ ਸਾਈਨ-ਇਨ ਕਰੋ।</translation>
 <translation id="8498858610309223613">Google Chrome ਲਈ ਇੱਕ ਖਾਸ ਸੁਰੱਖਿਆ ਅੱਪਡੇਟ ਹੁਣੇ ਲਾਗੂ ਕੀਤਾ ਗਿਆ ਸੀ। ਹੁਣ ਇਸਨੂੰ ਮੁੜ-ਸ਼ੁਰੂ ਕਰੋ ਅਤੇ ਅਸੀਂ ਤੁਹਾਡੀਆਂ ਟੈਬਾਂ ਨੂੰ ਮੁੜ-ਬਹਾਲ ਕਰਾਂਗੇ।</translation>
+<translation id="8516431725144212809">Chrome ਦੇ ਅੰਦਾਜ਼ੇ ਮੁਤਾਬਕ ਤੁਹਾਡੀਆਂ ਦਿਲਚਸਪੀਆਂ</translation>
 <translation id="8521348052903287641">mDNS ਟ੍ਰੈਫਿਕ ਦੀ ਇਜਾਜ਼ਤ ਦੇਣ ਵਾਸਤੇ Google Chrome Dev ਲਈ ਇਨਬਾਊਂਡ ਨਿਯਮ।</translation>
 <translation id="8540666473246803645">Google Chrome</translation>
 <translation id="8550334526674375523">ਇਹ ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਤੁਹਾਡੀ ਨਿੱਜੀ ਪ੍ਰੋਫਾਈਲ ਤੋਂ ਪੂਰੀ ਤਰ੍ਹਾਂ ਵੱਖ ਹੈ।</translation>
diff --git a/chrome/app/resources/google_chrome_strings_tr.xtb b/chrome/app/resources/google_chrome_strings_tr.xtb
index a3a2e5b..4f30bca 100644
--- a/chrome/app/resources/google_chrome_strings_tr.xtb
+++ b/chrome/app/resources/google_chrome_strings_tr.xtb
@@ -76,6 +76,7 @@
 <translation id="2665296953892887393">Kilitlenme raporlarını ve <ph name="UMA_LINK" /> bilgilerini Google'a göndererek Google Chrome'u daha iyi hale getirmeye yardımcı olun</translation>
 <translation id="2689103672227170538">Bu uzantı, Chrome'u başlattığınızda gösterilen sayfayı değiştirdi.</translation>
 <translation id="2742320827292110288">Uyarı: Google Chrome, uzantıların tarama geçmişinizi kaydetmesini önleyemez. Gizli modda bu uzantıyı devre dışı bırakmak için bu seçeneğin onay işaretini kaldırın.</translation>
+<translation id="2746842245914314523">Chrome ayarlarından bu özellikler hakkında daha fazla bilgi edinebilirsiniz. Denemeler sırasında sitelerle olan etkileşiminiz, bu yeni özellikler olmadan şu anki deneyiminize kıyasla daha gizli olmayabilir.</translation>
 <translation id="2765403129283291972">Chrome'un bu sitede mikrofonunuza erişmesi için izin gerekiyor</translation>
 <translation id="2770231113462710648">Varsayılan tarayıcıyı şuna dönüştür:</translation>
 <translation id="2775140325783767197">Chrome, şifrelerinizi kontrol edemiyor. İnternet bağlantınızı kontrol etmeyi deneyin.</translation>
@@ -130,11 +131,13 @@
 <translation id="3785324443014631273">ChromeOS Flex, oturum açma hatası nedeniyle verilerinizi senkronize edemedi.</translation>
 <translation id="3835168907083856002">Bu işlem, <ph name="USER_EMAIL_ADDRESS" /> için yeni bir Chrome profili oluşturacak</translation>
 <translation id="386202838227397562">Lütfen tüm Google Chrome pencerelerini kapatıp tekrar deneyin.</translation>
+<translation id="3862592757180800623">Chrome ayarlarını kullanarak istediğiniz zaman fikrinizi değiştirebilirsiniz. Denemeler sırasında sitelerle olan etkileşiminiz, bu yeni özellikler olmadan şu anki deneyiminize kıyasla daha gizli olmayabilir.</translation>
 <translation id="3865754807470779944">Chrome sürümü <ph name="PRODUCT_VERSION" /> yüklendi</translation>
 <translation id="3873044882194371212">Bağlantıyı Chrome &amp;gizli penceresinde aç</translation>
 <translation id="3889417619312448367">Google Chrome'u Kaldır</translation>
 <translation id="4050175100176540509">Son sürümde güvenlikle ilgili önemli iyileştirmeler ve yeni özellikler mevcuttur.</translation>
 <translation id="4053720452172726777">Google Chrome'u özelleştirin ve kontrol edin</translation>
+<translation id="4106587138345390261">Chrome, sitelerin size ait daha az bilgiyi kullanarak aynı tarama deneyimini sunmasını sağlayan yeni özellikleri keşfediyor</translation>
 <translation id="4110895483821904099">Yeni Chrome profilinizi oluşturun</translation>
 <translation id="4147555960264124640">Yönetilen bir hesapla oturum açıyor ve hesabın yöneticisine Google Chrome profilinizi denetleme izni veriyorsunuz. Uygulamalarınız, yer işaretleriniz, geçmişiniz, şifreleriniz ve diğer ayarlarınız gibi Chrome verileriniz kalıcı olarak <ph name="USER_NAME" /> ile bağlantılandırılacaktır. Google Hesapları Hesap Özeti'ni kullanarak bu verileri silebilecek, ancak bu verileri başka bir hesapla ilişkilendiremeyeceksiniz.<ph name="LEARN_MORE" /></translation>
 <translation id="4149882025268051530">Yükleyici arşivi açamadı. Lütfen Google Chrome'u yeniden indirin.</translation>
@@ -143,6 +146,7 @@
 <translation id="4242034826641750751">Bu site için Chrome'un kamera ve mikrofon izinlerine ihtiyacı var</translation>
 <translation id="424864128008805179">Chrome oturumu kapatılsın mı?</translation>
 <translation id="4251615635259297716">Chrome verileriniz bu hesaba bağlansın mı?</translation>
+<translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Kullanılan veriler:<ph name="END_BOLD" /> Tarama geçmişiniz ve bu cihazda Chrome'u kullanarak ziyaret ettiğiniz sitelerin kaydı.</translation>
 <translation id="4281844954008187215">Hizmet Şartları</translation>
 <translation id="4293420128516039005">Chrome'u cihazlarınız arasında senkronize etmek ve kişiselleştirmek için oturum açın</translation>
 <translation id="4325083532956419387">Chrome OS sürümü</translation>
@@ -301,10 +305,12 @@
 <translation id="8290100596633877290">Of! Google Chrome kilitlendi. Şimdi yeniden başlatılsın mı?</translation>
 <translation id="8342675569599923794">Bu dosya tehlikeli olduğu için Chrome tarafından engellendi.</translation>
 <translation id="8370517070665726704">Telif hakkı <ph name="YEAR" /> Google LLC. Tüm hakları saklıdır.</translation>
+<translation id="8383226135083126309"><ph name="BEGIN_BOLD" />Bu verileri kullanma şeklimiz:<ph name="END_BOLD" /> Chrome, ilgi alanlarınızı tahmin edebilir. Daha sonrasında ziyaret ettiğiniz bir site, gördüğünüz reklamları kişiselleştirmek için Chrome'dan ilgi alanlarınızı göstermesini isteyebilir.</translation>
 <translation id="8394720698884623075">URL'leri, Chrome'da kayıtlı güvenli olmayan siteler listesine göre kontrol eder</translation>
 <translation id="840084489713044809">Google Chrome, şifrelerinizi dışa aktarmak istiyor.</translation>
 <translation id="8433638294851456451">Buradan Android telefonunuza numara göndermek için iki cihazdan da Chrome'da oturum açın.</translation>
 <translation id="8498858610309223613">Google Chrome için özel bir güvenlik güncellemesi uygulandı. Uygulamayı hemen yeniden başlatın; açık sekmeleriniz geri yüklenir.</translation>
+<translation id="8516431725144212809">Chrome'un tahmin ettiği ilgi alanlarınız</translation>
 <translation id="8521348052903287641">Google Chrome Dev'in mDNS trafiğine izin vermeyi sağlayan gelen trafik kuralı.</translation>
 <translation id="8540666473246803645">Google Chrome</translation>
 <translation id="8550334526674375523">Bu iş profili, kişisel profilinizden tamamen ayrıdır.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_uk.xtb b/chrome/app/resources/google_chrome_strings_uk.xtb
index 7c651da..87c9616 100644
--- a/chrome/app/resources/google_chrome_strings_uk.xtb
+++ b/chrome/app/resources/google_chrome_strings_uk.xtb
@@ -77,6 +77,7 @@
 <translation id="2665296953892887393">Допоможіть покращити Google Chrome, надсилаючи звіти про аварійне завершення роботи та <ph name="UMA_LINK" /> в Google</translation>
 <translation id="2689103672227170538">Це розширення змінило сторінку, яка відкривається під час запуску Chrome.</translation>
 <translation id="2742320827292110288">Попередження. Google Chrome не може заборонити розширенням записувати вашу історію веб-перегляду. Щоб розширення не працювало в режимі анонімного перегляду, зніміть прапорець біля цієї опції.</translation>
+<translation id="2746842245914314523">Дізнатися більше про ці функції можна в налаштуваннях Chrome. Коли використовуються пробні версії цих нових функцій, конфіденційність взаємодії із сайтами може не покращитися.</translation>
 <translation id="2765403129283291972">Chrome потрібен дозвіл на використання мікрофона, щоб надати цьому сайту доступ до нього</translation>
 <translation id="2770231113462710648">Змінити веб-переглядач за умовчанням на:</translation>
 <translation id="2775140325783767197">Chrome не може перевірити паролі. Перевірте інтернет-з'єднання.</translation>
@@ -131,11 +132,13 @@
 <translation id="3785324443014631273">ОС Chrome Flex не змогла синхронізувати ваші дані через помилку входу в систему.</translation>
 <translation id="3835168907083856002">Буде створено новий профіль Chrome для <ph name="USER_EMAIL_ADDRESS" />.</translation>
 <translation id="386202838227397562">Закрийте всі вікна Google Chrome і повторіть спробу.</translation>
+<translation id="3862592757180800623">Ви можете будь-коли змінити свій вибір у налаштуваннях Chrome. Коли використовуються пробні версії цих нових функцій, конфіденційність взаємодії із сайтами може не покращитися.</translation>
 <translation id="3865754807470779944">Chrome версії <ph name="PRODUCT_VERSION" /> встановлено</translation>
 <translation id="3873044882194371212">Відкрити посилання в аноні&amp;мному вікні Chrome</translation>
 <translation id="3889417619312448367">Видалити Google Chrome</translation>
 <translation id="4050175100176540509">В останній версії покращено безпеку та додано нові функції.</translation>
 <translation id="4053720452172726777">Налаштування та керування Google Chrome</translation>
+<translation id="4106587138345390261">Chrome досліджує нові функції, з якими сайти могли б працювати як завжди, але використовувати менше вашої інформації</translation>
 <translation id="4110895483821904099">Налаштуйте новий профіль Chrome</translation>
 <translation id="4147555960264124640">Ви входите, використовуючи дані облікового запису, яким керує адміністратор. Адміністратор може контролювати ваш профіль Google Chrome. Ваші дані Chrome, як-от програми, закладки, історія, паролі й інші налаштування, буде назавжди пов’язано з обліковим записом <ph name="USER_NAME" />. Ці дані можна видалити на інформаційній панелі Облікових записів Google, але ви не зможете пов’язати їх з іншим обліковим записом. <ph name="LEARN_MORE" /></translation>
 <translation id="4149882025268051530">Не вдалося відкрити архів за допомогою програми встановлення. Завантажте Google Chrome ще раз.</translation>
@@ -144,6 +147,7 @@
 <translation id="4242034826641750751">Веб-переглядачу Chrome потрібен доступ до камери та мікрофона для цього сайту</translation>
 <translation id="424864128008805179">Вийти з Chrome?</translation>
 <translation id="4251615635259297716">Пов’язати ваші дані Chrome із цим обліковим записом?</translation>
+<translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Які дані використовуються<ph name="END_BOLD" />. Ваша історія веб-перегляду – перелік сайтів, які ви відвідали через Chrome на цьому пристрої.</translation>
 <translation id="4281844954008187215">Умови використання</translation>
 <translation id="4293420128516039005">Увійдіть, щоб синхронізувати та персоналізувати роботу Chrome на всіх своїх пристроях</translation>
 <translation id="4325083532956419387">Версія ОС Chrome</translation>
@@ -300,10 +304,12 @@
 <translation id="8290100596633877290">Відбулося аварійне завершення роботи Google Chrome. Перезапустити зараз?</translation>
 <translation id="8342675569599923794">Цей файл небезпечний, тому Chrome заблокував його.</translation>
 <translation id="8370517070665726704">© Google LLC <ph name="YEAR" />. Усі права захищено.</translation>
+<translation id="8383226135083126309"><ph name="BEGIN_BOLD" />Як ми використовуємо ці дані<ph name="END_BOLD" />. Chrome оцінює ваші інтереси. Коли ви пізніше відвідаєте якийсь сайт, він може запитати в Chrome про ваші інтереси, щоб персоналізувати для вас оголошення.</translation>
 <translation id="8394720698884623075">Перевіряє URL-адреси за списком шкідливих сайтів, що зберігаються в Chrome</translation>
 <translation id="840084489713044809">Google Chrome хоче експортувати ваші паролі.</translation>
 <translation id="8433638294851456451">Щоб надіслати номер на телефон Android, увійдіть у Chrome на обох пристроях.</translation>
 <translation id="8498858610309223613">Щойно було застосовано спеціальне оновлення для захисту Google Chrome. Перезапустіть веб-переглядач, і ваші вкладки буде відновлено.</translation>
+<translation id="8516431725144212809">Ваші інтереси (за оцінкою Chrome)</translation>
 <translation id="8521348052903287641">Вхідне правило для Google Chrome для розробників дозволяє трафік mDNS.</translation>
 <translation id="8540666473246803645">Google Chrome</translation>
 <translation id="8550334526674375523">Цей робочий профіль ніяк не пов'язаний із вашим особистим профілем.</translation>
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index 0ba3d00..64f07382 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -6954,13 +6954,6 @@
      MULTI_VALUE_TYPE(kFrameThrottleFpsChoices)},
 #endif  // BUILDFLAG(IS_CHROMEOS_ASH)
 
-#if BUILDFLAG(IS_WIN)
-    {"enable-incognito-shortcut-on-desktop",
-     flag_descriptions::kEnableIncognitoShortcutOnDesktopName,
-     flag_descriptions::kEnableIncognitoShortcutOnDesktopDescription, kOsWin,
-     FEATURE_VALUE_TYPE(features::kEnableIncognitoShortcutOnDesktop)},
-#endif  // BUILDFLAG(IS_WIN)
-
 #if BUILDFLAG(IS_ANDROID)
     {"incognito-brand-consistency-for-android",
      flag_descriptions::kIncognitoBrandConsistencyForAndroidName,
diff --git a/chrome/browser/apps/app_service/publishers/arc_apps.cc b/chrome/browser/apps/app_service/publishers/arc_apps.cc
index 3c97ece..0bd2106 100644
--- a/chrome/browser/apps/app_service/publishers/arc_apps.cc
+++ b/chrome/browser/apps/app_service/publishers/arc_apps.cc
@@ -395,7 +395,7 @@
 }
 
 // Constructs an OpenUrlsRequest to be passed to
-// FileSystemInstance.DEPRECATED_OpenUrlsWithPermission.
+// FileSystemInstance.OpenUrlsWithPermissionAndWindowInfo.
 arc::mojom::OpenUrlsRequestPtr ConstructOpenUrlsRequest(
     const apps::mojom::IntentPtr& intent,
     const arc::mojom::ActivityNamePtr& activity,
@@ -442,22 +442,13 @@
   arc::mojom::FileSystemInstance* arc_file_system = ARC_GET_INSTANCE_FOR_METHOD(
       arc_service_manager->arc_bridge_service()->file_system(),
       OpenUrlsWithPermissionAndWindowInfo);
-  if (arc_file_system) {
-    arc_file_system->OpenUrlsWithPermissionAndWindowInfo(
-        ConstructOpenUrlsRequest(intent, activity, content_urls),
-        apps::MakeArcWindowInfo(std::move(window_info)), base::DoNothing());
-  } else {
-    arc_file_system = ARC_GET_INSTANCE_FOR_METHOD(
-        arc_service_manager->arc_bridge_service()->file_system(),
-        DEPRECATED_OpenUrlsWithPermission);
-    if (!arc_file_system) {
-      return;
-    }
-
-    arc_file_system->DEPRECATED_OpenUrlsWithPermission(
-        ConstructOpenUrlsRequest(intent, activity, content_urls),
-        base::DoNothing());
+  if (!arc_file_system) {
+    LOG(ERROR) << "Failed to open urls, ARC File System not found";
+    return;
   }
+  arc_file_system->OpenUrlsWithPermissionAndWindowInfo(
+      ConstructOpenUrlsRequest(intent, activity, content_urls),
+      apps::MakeArcWindowInfo(std::move(window_info)), base::DoNothing());
 
   ::full_restore::SaveAppLaunchInfo(
       file_path,
diff --git a/chrome/browser/ash/arc/fileapi/arc_file_system_bridge.h b/chrome/browser/ash/arc/fileapi/arc_file_system_bridge.h
index 232b08e3..c763780e 100644
--- a/chrome/browser/ash/arc/fileapi/arc_file_system_bridge.h
+++ b/chrome/browser/ash/arc/fileapi/arc_file_system_bridge.h
@@ -41,6 +41,8 @@
       public ConnectionObserver<mojom::FileSystemInstance>,
       public mojom::FileSystemHost {
  public:
+  using OpenFileToReadCallback = mojom::FileSystemHost::OpenFileToReadCallback;
+
   class Observer {
    public:
     virtual void OnDocumentChanged(int64_t watcher_id,
diff --git a/chrome/browser/ash/arc/fileapi/arc_file_system_operation_runner.cc b/chrome/browser/ash/arc/fileapi/arc_file_system_operation_runner.cc
index 259895a7..d8b5da6 100644
--- a/chrome/browser/ash/arc/fileapi/arc_file_system_operation_runner.cc
+++ b/chrome/browser/ash/arc/fileapi/arc_file_system_operation_runner.cc
@@ -155,27 +155,6 @@
   file_system_instance->GetMimeType(url.spec(), std::move(callback));
 }
 
-void ArcFileSystemOperationRunner::OpenFileToRead(
-    const GURL& url,
-    OpenFileToReadCallback callback) {
-  DCHECK_CURRENTLY_ON(BrowserThread::UI);
-  if (should_defer_) {
-    deferred_operations_.emplace_back(base::BindOnce(
-        &ArcFileSystemOperationRunner::OpenFileToRead,
-        weak_ptr_factory_.GetWeakPtr(), url, std::move(callback)));
-    return;
-  }
-  auto* file_system_instance = ARC_GET_INSTANCE_FOR_METHOD(
-      arc_bridge_service_->file_system(), DEPRECATED_OpenFileToRead);
-  if (!file_system_instance) {
-    base::ThreadTaskRunnerHandle::Get()->PostTask(
-        FROM_HERE, base::BindOnce(std::move(callback), mojo::ScopedHandle()));
-    return;
-  }
-  file_system_instance->DEPRECATED_OpenFileToRead(url.spec(),
-                                                  std::move(callback));
-}
-
 void ArcFileSystemOperationRunner::OpenThumbnail(
     const GURL& url,
     const gfx::Size& size,
@@ -197,27 +176,6 @@
   file_system_instance->OpenThumbnail(url.spec(), size, std::move(callback));
 }
 
-void ArcFileSystemOperationRunner::OpenFileToWrite(
-    const GURL& url,
-    OpenFileToWriteCallback callback) {
-  DCHECK_CURRENTLY_ON(BrowserThread::UI);
-  if (should_defer_) {
-    deferred_operations_.emplace_back(base::BindOnce(
-        &ArcFileSystemOperationRunner::OpenFileToWrite,
-        weak_ptr_factory_.GetWeakPtr(), url, std::move(callback)));
-    return;
-  }
-  auto* file_system_instance = ARC_GET_INSTANCE_FOR_METHOD(
-      arc_bridge_service_->file_system(), DEPRECATED_OpenFileToWrite);
-  if (!file_system_instance) {
-    base::ThreadTaskRunnerHandle::Get()->PostTask(
-        FROM_HERE, base::BindOnce(std::move(callback), mojo::ScopedHandle()));
-    return;
-  }
-  file_system_instance->DEPRECATED_OpenFileToWrite(url.spec(),
-                                                   std::move(callback));
-}
-
 void ArcFileSystemOperationRunner::CloseFileSession(
     const std::string& url_id,
     const std::string& error_message) {
diff --git a/chrome/browser/ash/arc/fileapi/arc_file_system_operation_runner.h b/chrome/browser/ash/arc/fileapi/arc_file_system_operation_runner.h
index afae7b35..ddcab7a 100644
--- a/chrome/browser/ash/arc/fileapi/arc_file_system_operation_runner.h
+++ b/chrome/browser/ash/arc/fileapi/arc_file_system_operation_runner.h
@@ -68,12 +68,8 @@
  public:
   using GetFileSizeCallback = mojom::FileSystemInstance::GetFileSizeCallback;
   using GetMimeTypeCallback = mojom::FileSystemInstance::GetMimeTypeCallback;
-  using OpenFileToReadCallback =
-      mojom::FileSystemInstance::DEPRECATED_OpenFileToReadCallback;
   using OpenThumbnailCallback =
       mojom::FileSystemInstance::OpenThumbnailCallback;
-  using OpenFileToWriteCallback =
-      mojom::FileSystemInstance::DEPRECATED_OpenFileToWriteCallback;
   using OpenFileSessionToWriteCallback =
       mojom::FileSystemInstance::OpenFileSessionToWriteCallback;
   using OpenFileSessionToReadCallback =
@@ -142,13 +138,9 @@
   // Runs file system operations. See file_system.mojom for documentation.
   void GetFileSize(const GURL& url, GetFileSizeCallback callback);
   void GetMimeType(const GURL& url, GetMimeTypeCallback callback);
-  // TODO(b/220547241): Remove DEPRECATED function from file_system.mojom.
-  void OpenFileToRead(const GURL& url, OpenFileToReadCallback callback);
   void OpenThumbnail(const GURL& url,
                      const gfx::Size& size,
                      OpenThumbnailCallback callback);
-  // TODO(b/220547241): Remove DEPRECATED function from file_system.mojom.
-  void OpenFileToWrite(const GURL& url, OpenFileToWriteCallback callback);
   void CloseFileSession(const std::string& session_id,
                         const std::string& error_message);
   void OpenFileSessionToWrite(const GURL& url,
diff --git a/chrome/browser/ash/arc/fileapi/arc_file_system_operation_runner_unittest.cc b/chrome/browser/ash/arc/fileapi/arc_file_system_operation_runner_unittest.cc
index 7f56d48..27fa38e6 100644
--- a/chrome/browser/ash/arc/fileapi/arc_file_system_operation_runner_unittest.cc
+++ b/chrome/browser/ash/arc/fileapi/arc_file_system_operation_runner_unittest.cc
@@ -123,16 +123,6 @@
         base::BindOnce(
             [](int* counter, mojom::RootSizePtr root_size) { ++*counter; },
             counter));
-    runner_->OpenFileToRead(
-        GURL(kUrl),
-        base::BindOnce(
-            [](int* counter, mojo::ScopedHandle handle) { ++*counter; },
-            counter));
-    runner_->OpenFileToWrite(
-        GURL(kUrl),
-        base::BindOnce(
-            [](int* counter, mojo::ScopedHandle handle) { ++*counter; },
-            counter));
     runner_->OpenFileSessionToWrite(
         GURL(kUrl),
         base::BindOnce([](int* counter,
@@ -166,7 +156,7 @@
   CallSetShouldDefer(false);
   CallAllFunctions(&counter);
   base::RunLoop().RunUntilIdle();
-  EXPECT_EQ(13, counter);
+  EXPECT_EQ(11, counter);
 }
 
 TEST_F(ArcFileSystemOperationRunnerTest, DeferAndRun) {
@@ -178,7 +168,7 @@
 
   CallSetShouldDefer(false);
   base::RunLoop().RunUntilIdle();
-  EXPECT_EQ(13, counter);
+  EXPECT_EQ(11, counter);
 }
 
 // TODO(nya,hidehiko): Check if we should keep this test.
@@ -203,7 +193,7 @@
   CallSetShouldDefer(false);
   CallAllFunctions(&counter);
   base::RunLoop().RunUntilIdle();
-  EXPECT_EQ(13, counter);
+  EXPECT_EQ(11, counter);
 }
 
 }  // namespace arc
diff --git a/chrome/browser/ash/arc/fileapi/arc_file_system_operation_runner_util.cc b/chrome/browser/ash/arc/fileapi/arc_file_system_operation_runner_util.cc
index fbd4c50..38af2ab 100644
--- a/chrome/browser/ash/arc/fileapi/arc_file_system_operation_runner_util.cc
+++ b/chrome/browser/ash/arc/fileapi/arc_file_system_operation_runner_util.cc
@@ -49,32 +49,6 @@
   runner->GetFileSize(url, std::move(callback));
 }
 
-void OpenFileToReadOnUIThread(const GURL& url,
-                              OpenFileToReadCallback callback) {
-  DCHECK_CURRENTLY_ON(BrowserThread::UI);
-  auto* runner = GetArcFileSystemOperationRunner();
-  if (!runner) {
-    DLOG(ERROR) << "ArcFileSystemOperationRunner unavailable. "
-                << "File system operations are dropped.";
-    std::move(callback).Run(mojo::ScopedHandle());
-    return;
-  }
-  runner->OpenFileToRead(url, std::move(callback));
-}
-
-void OpenFileToWriteOnUIThread(const GURL& url,
-                               OpenFileToWriteCallback callback) {
-  DCHECK_CURRENTLY_ON(BrowserThread::UI);
-  auto* runner = GetArcFileSystemOperationRunner();
-  if (!runner) {
-    DLOG(ERROR) << "ArcFileSystemOperationRunner unavailable. "
-                << "File system operations are dropped.";
-    std::move(callback).Run(mojo::ScopedHandle());
-    return;
-  }
-  runner->OpenFileToWrite(url, std::move(callback));
-}
-
 void OpenFileSessionToWriteOnUIThread(const GURL& url,
                                       OpenFileSessionToWriteCallback callback) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
@@ -129,26 +103,6 @@
                                                std::move(callback))));
 }
 
-void OpenFileToReadOnIOThread(const GURL& url,
-                              OpenFileToReadCallback callback) {
-  DCHECK_CURRENTLY_ON(BrowserThread::IO);
-  content::GetUIThreadTaskRunner({})->PostTask(
-      FROM_HERE,
-      base::BindOnce(&OpenFileToReadOnUIThread, url,
-                     base::BindOnce(&PostToIOThread<mojo::ScopedHandle>,
-                                    std::move(callback))));
-}
-
-void OpenFileToWriteOnIOThread(const GURL& url,
-                               OpenFileToWriteCallback callback) {
-  DCHECK_CURRENTLY_ON(BrowserThread::IO);
-  content::GetUIThreadTaskRunner({})->PostTask(
-      FROM_HERE,
-      base::BindOnce(&OpenFileToWriteOnUIThread, url,
-                     base::BindOnce(&PostToIOThread<mojo::ScopedHandle>,
-                                    std::move(callback))));
-}
-
 void OpenFileSessionToWriteOnIOThread(const GURL& url,
                                       OpenFileSessionToWriteCallback callback) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
diff --git a/chrome/browser/ash/arc/fileapi/arc_file_system_operation_runner_util.h b/chrome/browser/ash/arc/fileapi/arc_file_system_operation_runner_util.h
index 6c85debd..cba8069 100644
--- a/chrome/browser/ash/arc/fileapi/arc_file_system_operation_runner_util.h
+++ b/chrome/browser/ash/arc/fileapi/arc_file_system_operation_runner_util.h
@@ -17,10 +17,6 @@
 namespace file_system_operation_runner_util {
 
 using GetFileSizeCallback = ArcFileSystemOperationRunner::GetFileSizeCallback;
-using OpenFileToReadCallback =
-    ArcFileSystemOperationRunner::OpenFileToReadCallback;
-using OpenFileToWriteCallback =
-    ArcFileSystemOperationRunner::OpenFileToWriteCallback;
 using OpenFileSessionToWriteCallback =
     ArcFileSystemOperationRunner::OpenFileSessionToWriteCallback;
 using OpenFileSessionToReadCallback =
@@ -41,13 +37,10 @@
 // These functions must be called on the IO thread. Callbacks and observers will
 // be called on the IO thread.
 void GetFileSizeOnIOThread(const GURL& url, GetFileSizeCallback callback);
-void OpenFileToReadOnIOThread(const GURL& url, OpenFileToReadCallback callback);
-void OpenFileToWriteOnIOThread(const GURL& url,
-                               OpenFileToWriteCallback callback);
 void OpenFileSessionToWriteOnIOThread(const GURL& url,
                                       OpenFileSessionToWriteCallback callback);
 void OpenFileSessionToReadOnIOThread(const GURL& url,
-                                     OpenFileSessionToWriteCallback callback);
+                                     OpenFileSessionToReadCallback callback);
 
 // Calls to OpenFileSession* must be followed up with a call to CloseFileSession
 // once the file is no longer in use to close the Android file descriptor.
diff --git a/chrome/browser/ash/login/screens/app_downloading_screen_browsertest.cc b/chrome/browser/ash/login/screens/app_downloading_screen_browsertest.cc
index 11a0ff0..f0046897 100644
--- a/chrome/browser/ash/login/screens/app_downloading_screen_browsertest.cc
+++ b/chrome/browser/ash/login/screens/app_downloading_screen_browsertest.cc
@@ -90,6 +90,10 @@
 };
 
 IN_PROC_BROWSER_TEST_F(AppDownloadingScreenTest, NoAppsSelected) {
+  LoginDisplayHost::default_host()
+      ->GetWizardContext()
+      ->defer_oobe_flow_finished_for_tests = true;
+
   Login();
   ShowAppDownloadingScreen();
 
@@ -104,6 +108,10 @@
 }
 
 IN_PROC_BROWSER_TEST_F(AppDownloadingScreenTest, SingleAppSelected) {
+  LoginDisplayHost::default_host()
+      ->GetWizardContext()
+      ->defer_oobe_flow_finished_for_tests = true;
+
   Login();
   base::Value apps(base::Value::Type::LIST);
   apps.Append("app.test.package.1");
@@ -123,6 +131,10 @@
 }
 
 IN_PROC_BROWSER_TEST_F(AppDownloadingScreenTest, MultipleAppsSelected) {
+  LoginDisplayHost::default_host()
+      ->GetWizardContext()
+      ->defer_oobe_flow_finished_for_tests = true;
+
   Login();
   base::Value apps(base::Value::Type::LIST);
   apps.Append("app.test.package.1");
diff --git a/chrome/browser/ash/login/screens/marketing_opt_in_screen.cc b/chrome/browser/ash/login/screens/marketing_opt_in_screen.cc
index 07fe9ef..a337cbf 100644
--- a/chrome/browser/ash/login/screens/marketing_opt_in_screen.cc
+++ b/chrome/browser/ash/login/screens/marketing_opt_in_screen.cc
@@ -100,7 +100,7 @@
   Initialize();
 
   if (chrome_user_manager_util::IsPublicSessionOrEphemeralLogin() ||
-      IsCurrentUserManaged()) {
+      IsCurrentUserManaged() || !context->is_branded_build) {
     exit_callback_.Run(Result::NOT_APPLICABLE);
     return true;
   }
diff --git a/chrome/browser/ash/login/screens/marketing_opt_in_screen_browsertest.cc b/chrome/browser/ash/login/screens/marketing_opt_in_screen_browsertest.cc
index fe4d590..53aedf6 100644
--- a/chrome/browser/ash/login/screens/marketing_opt_in_screen_browsertest.cc
+++ b/chrome/browser/ash/login/screens/marketing_opt_in_screen_browsertest.cc
@@ -194,6 +194,7 @@
   GetScreen()->set_ingore_pref_sync_for_testing(true);
 
   OobeBaseTest::SetUpOnMainThread();
+  LoginDisplayHost::default_host()->GetWizardContext()->is_branded_build = true;
 }
 
 MarketingOptInScreen* MarketingOptInScreenTest::GetScreen() {
@@ -619,5 +620,23 @@
                                      0);
 }
 
+class MarketingOptInScreenTestNotBrandedChrome
+    : public MarketingOptInScreenTest {
+ protected:
+  void SetUpOnMainThread() override {
+    MarketingOptInScreenTest::SetUpOnMainThread();
+    LoginDisplayHost::default_host()->GetWizardContext()->is_branded_build =
+        false;
+  }
+};
+
+IN_PROC_BROWSER_TEST_F(MarketingOptInScreenTestNotBrandedChrome,
+                       SkippedNotBrandedBuild) {
+  ShowMarketingOptInScreen();
+  WaitForScreenExit();
+  EXPECT_EQ(screen_result_.value(),
+            MarketingOptInScreen::Result::NOT_APPLICABLE);
+}
+
 }  // namespace
 }  // namespace ash
diff --git a/chrome/browser/ash/login/screens/recommend_apps_screen_browsertest.cc b/chrome/browser/ash/login/screens/recommend_apps_screen_browsertest.cc
index f1be56f..4b79bb6 100644
--- a/chrome/browser/ash/login/screens/recommend_apps_screen_browsertest.cc
+++ b/chrome/browser/ash/login/screens/recommend_apps_screen_browsertest.cc
@@ -249,6 +249,10 @@
 };
 
 IN_PROC_BROWSER_TEST_F(RecommendAppsScreenTest, BasicSelection) {
+  LoginDisplayHost::default_host()
+      ->GetWizardContext()
+      ->defer_oobe_flow_finished_for_tests = true;
+
   ShowRecommendAppsScreen();
 
   OobeScreenWaiter(RecommendAppsScreenView::kScreenId).Wait();
@@ -300,6 +304,10 @@
 }
 
 IN_PROC_BROWSER_TEST_F(RecommendAppsScreenTest, SelectionChange) {
+  LoginDisplayHost::default_host()
+      ->GetWizardContext()
+      ->defer_oobe_flow_finished_for_tests = true;
+
   ShowRecommendAppsScreen();
 
   OobeScreenWaiter(RecommendAppsScreenView::kScreenId).Wait();
@@ -352,6 +360,10 @@
 }
 
 IN_PROC_BROWSER_TEST_F(RecommendAppsScreenTest, SkipWithSelectedApps) {
+  LoginDisplayHost::default_host()
+      ->GetWizardContext()
+      ->defer_oobe_flow_finished_for_tests = true;
+
   ShowRecommendAppsScreen();
 
   OobeScreenWaiter(RecommendAppsScreenView::kScreenId).Wait();
@@ -398,6 +410,10 @@
 }
 
 IN_PROC_BROWSER_TEST_F(RecommendAppsScreenTest, SkipWithNoAppsSelected) {
+  LoginDisplayHost::default_host()
+      ->GetWizardContext()
+      ->defer_oobe_flow_finished_for_tests = true;
+
   ShowRecommendAppsScreen();
 
   OobeScreenWaiter(RecommendAppsScreenView::kScreenId).Wait();
@@ -449,6 +465,10 @@
 }
 
 IN_PROC_BROWSER_TEST_F(RecommendAppsScreenTest, InstallWithNoAppsSelected) {
+  LoginDisplayHost::default_host()
+      ->GetWizardContext()
+      ->defer_oobe_flow_finished_for_tests = true;
+
   ShowRecommendAppsScreen();
 
   OobeScreenWaiter(RecommendAppsScreenView::kScreenId).Wait();
@@ -484,6 +504,10 @@
 }
 
 IN_PROC_BROWSER_TEST_F(RecommendAppsScreenTest, NoRecommendedApps) {
+  LoginDisplayHost::default_host()
+      ->GetWizardContext()
+      ->defer_oobe_flow_finished_for_tests = true;
+
   ShowRecommendAppsScreen();
 
   OobeScreenWaiter(RecommendAppsScreenView::kScreenId).Wait();
@@ -513,6 +537,10 @@
 }
 
 IN_PROC_BROWSER_TEST_F(RecommendAppsScreenTest, ParseError) {
+  LoginDisplayHost::default_host()
+      ->GetWizardContext()
+      ->defer_oobe_flow_finished_for_tests = true;
+
   ShowRecommendAppsScreen();
 
   OobeScreenWaiter(RecommendAppsScreenView::kScreenId).Wait();
diff --git a/chrome/browser/ash/login/screens/sync_consent_browsertest.cc b/chrome/browser/ash/login/screens/sync_consent_browsertest.cc
index 0096de7..4677d1e 100644
--- a/chrome/browser/ash/login/screens/sync_consent_browsertest.cc
+++ b/chrome/browser/ash/login/screens/sync_consent_browsertest.cc
@@ -314,6 +314,11 @@
 IN_PROC_BROWSER_TEST_F(SyncConsentTest, SkippedNotBrandedBuild) {
   LoginDisplayHost::default_host()->GetWizardContext()->is_branded_build =
       false;
+
+  LoginDisplayHost::default_host()
+      ->GetWizardContext()
+      ->defer_oobe_flow_finished_for_tests = true;
+
   LoginAndShowSyncConsentScreenWithCapability();
 
   WaitForScreenExit();
diff --git a/chrome/browser/ash/login/wizard_context.h b/chrome/browser/ash/login/wizard_context.h
index b3824492..fd61a6f45 100644
--- a/chrome/browser/ash/login/wizard_context.h
+++ b/chrome/browser/ash/login/wizard_context.h
@@ -75,6 +75,10 @@
   // True if this is a branded build (i.e. Google Chrome).
   bool is_branded_build;
 
+  // Force that OOBE Login display isn't destroyed right after login due to all
+  // screens being skipped.
+  bool defer_oobe_flow_finished_for_tests = false;
+
   // Authorization data that is required by PinSetup screen to add PIN as
   // another possible auth factor. Can be empty (if PIN is not supported).
   // In future will be replaced by AuthSession.
diff --git a/chrome/browser/ash/login/wizard_controller.cc b/chrome/browser/ash/login/wizard_controller.cc
index a12340a4..7fff190 100644
--- a/chrome/browser/ash/login/wizard_controller.cc
+++ b/chrome/browser/ash/login/wizard_controller.cc
@@ -1794,6 +1794,10 @@
 }
 
 void WizardController::OnOobeFlowFinished() {
+  if (GetLoginDisplayHost()
+          ->GetWizardContext()
+          ->defer_oobe_flow_finished_for_tests)
+    return;
   SetCurrentScreen(nullptr);
 
   user_manager::KnownUser known_user(GetLocalState());
diff --git a/chrome/browser/ash/login/wizard_controller_browsertest.cc b/chrome/browser/ash/login/wizard_controller_browsertest.cc
index d4731744..9cecd01 100644
--- a/chrome/browser/ash/login/wizard_controller_browsertest.cc
+++ b/chrome/browser/ash/login/wizard_controller_browsertest.cc
@@ -3125,6 +3125,7 @@
 
 IN_PROC_BROWSER_TEST_F(WizardControllerOnboardingResumeTest,
                        PRE_ControlFlowResumeInterruptedOnboarding) {
+  LoginDisplayHost::default_host()->GetWizardContext()->is_branded_build = true;
   OobeScreenWaiter(UserCreationView::kScreenId).Wait();
   LoginManagerMixin::TestUserInfo test_user(user_);
   login_mixin_.LoginWithDefaultContext(test_user);
@@ -3136,6 +3137,7 @@
 
 IN_PROC_BROWSER_TEST_F(WizardControllerOnboardingResumeTest,
                        ControlFlowResumeInterruptedOnboarding) {
+  LoginDisplayHost::default_host()->GetWizardContext()->is_branded_build = true;
   login_mixin_.LoginAsNewRegularUser();
   OobeScreenWaiter(MarketingOptInScreenView::kScreenId).Wait();
 }
diff --git a/chrome/browser/ash/web_applications/camera_app/chrome_camera_app_ui_delegate.cc b/chrome/browser/ash/web_applications/camera_app/chrome_camera_app_ui_delegate.cc
index 370d2d6a..8d550c2 100644
--- a/chrome/browser/ash/web_applications/camera_app/chrome_camera_app_ui_delegate.cc
+++ b/chrome/browser/ash/web_applications/camera_app/chrome_camera_app_ui_delegate.cc
@@ -22,7 +22,6 @@
 #include "chrome/browser/apps/app_service/app_service_proxy_factory.h"
 #include "chrome/browser/apps/app_service/launch_utils.h"
 #include "chrome/browser/ash/file_manager/path_util.h"
-#include "chrome/browser/web_applications/web_app_tab_helper.h"
 // TODO(b/174811949): Hide behind ChromeOS build flag.
 #include "chrome/browser/ash/web_applications/camera_app/chrome_camera_app_ui_constants.h"
 #include "chrome/browser/devtools/devtools_window.h"
@@ -33,9 +32,9 @@
 #include "chrome/browser/ui/web_applications/system_web_app_ui_utils.h"
 #include "chrome/browser/web_applications/system_web_apps/system_web_app_manager.h"
 #include "chrome/browser/web_applications/web_app_id_constants.h"
-#include "chrome/browser/web_applications/web_app_launch_queue.h"
 #include "chrome/browser/web_applications/web_app_provider.h"
 #include "chrome/browser/web_applications/web_app_tab_helper.h"
+#include "chrome/browser/web_applications/web_launch_params_helper.h"
 #include "chromeos/constants/devicetype.h"
 #include "chromeos/ui/base/window_properties.h"
 #include "components/services/app_service/public/mojom/types.mojom.h"
@@ -208,14 +207,12 @@
   // `SystemWebAppDelegate::LaunchAndNavigateSystemWebApp()` to handle the case
   // of the app being opened to handle an Android intent, i.e. when it's shown
   // as a dialog via `CameraAppDialog`.
-  web_app::WebAppLaunchParams launch_params;
-  launch_params.started_new_navigation = true;
-  launch_params.app_id = *app_id;
-  launch_params.target_url = GURL(ash::kChromeUICameraAppMainURL);
-  launch_params.dir = my_files_folder_path;
-  web_app::WebAppTabHelper::FromWebContents(web_contents)
-      ->EnsureLaunchQueue()
-      .Enqueue(std::move(launch_params));
+  web_app::WebLaunchParamsHelper::EnqueueLaunchParams(
+      web_contents, provider->registrar(), *app_id,
+      /*await_navigation=*/true,
+      /*launch_url=*/GURL(ash::kChromeUICameraAppMainURL), my_files_folder_path,
+      /*launch_paths=*/{});
+  web_app::WebAppTabHelper::CreateForWebContents(web_contents);
 }
 
 void ChromeCameraAppUIDelegate::PopulateLoadTimeData(
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
index 4ea20848..13de2d7 100644
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -2709,7 +2709,9 @@
     bool allow) {
   // Record access to file system for potential display in UI.
   for (const auto& it : render_frames) {
-    content_settings::PageSpecificContentSettings::FileSystemAccessed(
+    content_settings::PageSpecificContentSettings::StorageAccessed(
+        content_settings::mojom::ContentSettingsManager::StorageType::
+            FILE_SYSTEM,
         it.child_id, it.frame_routing_id, url, !allow);
   }
   std::move(callback).Run(allow);
diff --git a/chrome/browser/content_settings/content_settings_manager_delegate.cc b/chrome/browser/content_settings/content_settings_manager_delegate.cc
index 118f431..3585f109 100644
--- a/chrome/browser/content_settings/content_settings_manager_delegate.cc
+++ b/chrome/browser/content_settings/content_settings_manager_delegate.cc
@@ -29,7 +29,8 @@
     const GURL& url,
     base::OnceCallback<void(bool)> callback,
     bool allowed) {
-  content_settings::PageSpecificContentSettings::FileSystemAccessed(
+  content_settings::PageSpecificContentSettings::StorageAccessed(
+      content_settings::mojom::ContentSettingsManager::StorageType::FILE_SYSTEM,
       render_process_id, render_frame_id, url, !allowed);
   std::move(callback).Run(allowed);
 }
diff --git a/chrome/browser/content_settings/page_specific_content_settings_delegate.cc b/chrome/browser/content_settings/page_specific_content_settings_delegate.cc
index b35d4d1b01..576ac794 100644
--- a/chrome/browser/content_settings/page_specific_content_settings_delegate.cc
+++ b/chrome/browser/content_settings/page_specific_content_settings_delegate.cc
@@ -195,13 +195,6 @@
   }
 }
 
-void PageSpecificContentSettingsDelegate::OnCacheStorageAccessAllowed(
-    const url::Origin& origin) {
-  RecordOriginStorageAccess(
-      origin, AccessContextAuditDatabase::StorageAPIType::kCacheStorage,
-      GetPage());
-}
-
 void PageSpecificContentSettingsDelegate::OnCookieAccessAllowed(
     const net::CookieList& accessed_cookies) {
   if (cookie_access_helper_) {
@@ -210,27 +203,6 @@
   }
 }
 
-void PageSpecificContentSettingsDelegate::OnDomStorageAccessAllowed(
-    const url::Origin& origin) {
-  RecordOriginStorageAccess(
-      origin, AccessContextAuditDatabase::StorageAPIType::kLocalStorage,
-      GetPage());
-}
-
-void PageSpecificContentSettingsDelegate::OnFileSystemAccessAllowed(
-    const url::Origin& origin) {
-  RecordOriginStorageAccess(
-      origin, AccessContextAuditDatabase::StorageAPIType::kFileSystem,
-      GetPage());
-}
-
-void PageSpecificContentSettingsDelegate::OnIndexedDBAccessAllowed(
-    const url::Origin& origin) {
-  RecordOriginStorageAccess(
-      origin, AccessContextAuditDatabase::StorageAPIType::kIndexedDB,
-      GetPage());
-}
-
 void PageSpecificContentSettingsDelegate::OnServiceWorkerAccessAllowed(
     const url::Origin& origin) {
   RecordOriginStorageAccess(
@@ -238,11 +210,29 @@
       GetPage());
 }
 
-void PageSpecificContentSettingsDelegate::OnWebDatabaseAccessAllowed(
+void PageSpecificContentSettingsDelegate::OnStorageAccessAllowed(
+    StorageType storage_type,
     const url::Origin& origin) {
-  RecordOriginStorageAccess(
-      origin, AccessContextAuditDatabase::StorageAPIType::kWebDatabase,
-      GetPage());
+  AccessContextAuditDatabase::StorageAPIType out_type = ([storage_type]() {
+    switch (storage_type) {
+      case StorageType::CACHE:
+        return AccessContextAuditDatabase::StorageAPIType::kCacheStorage;
+      case StorageType::DATABASE:
+        return AccessContextAuditDatabase::StorageAPIType::kWebDatabase;
+      case StorageType::FILE_SYSTEM:
+        return AccessContextAuditDatabase::StorageAPIType::kFileSystem;
+      case StorageType::INDEXED_DB:
+        return AccessContextAuditDatabase::StorageAPIType::kIndexedDB;
+      case StorageType::LOCAL_STORAGE:
+        return AccessContextAuditDatabase::StorageAPIType::kLocalStorage;
+      case StorageType::SESSION_STORAGE:
+        return AccessContextAuditDatabase::StorageAPIType::kSessionStorage;
+      case StorageType::WEB_LOCKS:
+        NOTREACHED();
+        return AccessContextAuditDatabase::StorageAPIType::kCacheStorage;
+    }
+  })();
+  RecordOriginStorageAccess(origin, out_type, GetPage());
 }
 
 void PageSpecificContentSettingsDelegate::PrimaryPageChanged(
diff --git a/chrome/browser/content_settings/page_specific_content_settings_delegate.h b/chrome/browser/content_settings/page_specific_content_settings_delegate.h
index 3d152dbf..fc73a8b 100644
--- a/chrome/browser/content_settings/page_specific_content_settings_delegate.h
+++ b/chrome/browser/content_settings/page_specific_content_settings_delegate.h
@@ -12,6 +12,9 @@
 
 namespace chrome {
 
+using StorageType =
+    content_settings::mojom::ContentSettingsManager::StorageType;
+
 class PageSpecificContentSettingsDelegate
     : public content_settings::PageSpecificContentSettings::Delegate,
       public content::WebContentsObserver {
@@ -87,13 +90,10 @@
   GetMicrophoneCameraState() override;
   void OnContentAllowed(ContentSettingsType type) override;
   void OnContentBlocked(ContentSettingsType type) override;
-  void OnCacheStorageAccessAllowed(const url::Origin& origin) override;
+  void OnStorageAccessAllowed(StorageType storage_type,
+                              const url::Origin& origin) override;
   void OnCookieAccessAllowed(const net::CookieList& accessed_cookies) override;
-  void OnDomStorageAccessAllowed(const url::Origin& origin) override;
-  void OnFileSystemAccessAllowed(const url::Origin& origin) override;
-  void OnIndexedDBAccessAllowed(const url::Origin& origin) override;
   void OnServiceWorkerAccessAllowed(const url::Origin& origin) override;
-  void OnWebDatabaseAccessAllowed(const url::Origin& origin) override;
 
   // content::WebContentsObserver:
   void PrimaryPageChanged(content::Page& page) override;
diff --git a/chrome/browser/download/download_shelf_context_menu.cc b/chrome/browser/download/download_shelf_context_menu.cc
index 2d71101..f4ce555c2 100644
--- a/chrome/browser/download/download_shelf_context_menu.cc
+++ b/chrome/browser/download/download_shelf_context_menu.cc
@@ -448,7 +448,7 @@
         DownloadCommands::ALWAYS_OPEN_TYPE,
         GetLabelForCommandId(DownloadCommands::ALWAYS_OPEN_TYPE),
         ui::ImageModel::FromVectorIcon(vector_icons::kBusinessIcon,
-                                       gfx::kChromeIconGrey,
+                                       ui::kColorIcon,
                                        ui::SimpleMenuModel::kDefaultIconSize));
   } else {
     menu->AddCheckItem(
diff --git a/chrome/browser/extensions/extension_context_menu_model.cc b/chrome/browser/extensions/extension_context_menu_model.cc
index d46be63..23ee0ab 100644
--- a/chrome/browser/extensions/extension_context_menu_model.cc
+++ b/chrome/browser/extensions/extension_context_menu_model.cc
@@ -421,7 +421,7 @@
       // TODO (kylixrd): Investigate the usage of the hard-coded color.
       SetIcon(uninstall_index,
               ui::ImageModel::FromVectorIcon(vector_icons::kBusinessIcon,
-                                             gfx::kChromeIconGrey, 16));
+                                             ui::kColorIcon, 16));
     }
   }
 
@@ -435,7 +435,7 @@
       int toggle_visibility_index = GetIndexOfCommandId(TOGGLE_VISIBILITY);
       SetIcon(toggle_visibility_index,
               ui::ImageModel::FromVectorIcon(vector_icons::kBusinessIcon,
-                                             gfx::kChromeIconGrey, 16));
+                                             ui::kColorIcon, 16));
     }
   }
 
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
index b312ee6..7bca4a3 100644
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -1091,26 +1091,11 @@
     "expiry_milestone": 100
   },
   {
-    "name": "default-browser-fullscreen-promo-cta-experiment",
-    "owners": [ "rkgibson@google.com", "bling-flags@google.com" ],
-    "expiry_milestone": 93
-  },
-  {
     "name": "default-browser-fullscreen-promo-experiment",
     "owners": [ "thegreenfrog", "bling-flags@google.com" ],
     "expiry_milestone": 93
   },
   {
-    "name": "default-browser-promo-non-modal",
-    "owners": [ "rkgibson@google.com", "bling-flags@google.com" ],
-    "expiry_milestone": 97
-  },
-  {
-    "name": "default-browser-promo-tailored",
-    "owners": [ "rkgibson@google.com", "bling-flags@google.com" ],
-    "expiry_milestone": 97
-  },
-  {
     "name": "default-chrome-apps-migration",
     "owners": ["vkovalova"],
     "expiry_milestone": 104
@@ -2017,11 +2002,6 @@
     "expiry_milestone": 110
   },
   {
-    "name": "enable-ephemeral-guest-profiles-on-desktop",
-    "owners": [ "rhalavati", "chrome-privacy-core@google.com" ],
-    "expiry_milestone": 92
-  },
-  {
     "name": "enable-experimental-accessibility-dictation-commands",
     "owners": [ "akihiroota", "katie" ],
     "expiry_milestone": 101
@@ -2260,11 +2240,6 @@
     "expiry_milestone": 95
   },
   {
-    "name": "enable-incognito-shortcut-on-desktop",
-    "owners": [ "rhalavati", "chrome-privacy-core@google.com" ],
-    "expiry_milestone": 92
-  },
-  {
     "name": "enable-input-event-logging",
     "owners": [ "hcutts", "chromeos-tango@google.com" ],
     // Used to attach input device debugging information to feedback reports.
@@ -2303,8 +2278,8 @@
   },
   {
     "name": "enable-lacros-in-web-kiosk",
-    "owners": ["anqing", "apotapchuk"],
-    "expiry_milestone": 100
+    "owners": ["bfranz", "chromeos-kiosk-eng@google.com"],
+    "expiry_milestone": 110
   },
   {
     "name": "enable-launcher-app-paging",
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
index 72960e5..b10639b4 100644
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -3907,11 +3907,6 @@
     "Calculate window occlusion on Windows will be used in the future "
     "to throttle and potentially unload foreground tabs in occluded windows";
 
-const char kEnableIncognitoShortcutOnDesktopName[] =
-    "Enable Incognito Desktop Shortcut";
-const char kEnableIncognitoShortcutOnDesktopDescription[] =
-    "Enables users to create a desktop shortcut for incognito mode.";
-
 const char kEnableMediaFoundationVideoCaptureName[] =
     "MediaFoundation Video Capture";
 const char kEnableMediaFoundationVideoCaptureDescription[] =
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
index 7041bdd..f21a7ef 100644
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -2240,9 +2240,6 @@
 extern const char kCalculateNativeWinOcclusionName[];
 extern const char kCalculateNativeWinOcclusionDescription[];
 
-extern const char kEnableIncognitoShortcutOnDesktopName[];
-extern const char kEnableIncognitoShortcutOnDesktopDescription[];
-
 extern const char kEnableMediaFoundationVideoCaptureName[];
 extern const char kEnableMediaFoundationVideoCaptureDescription[];
 
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
index 8d8356e0..28e797a5 100644
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -368,7 +368,6 @@
     &switches::kForceDisableExtendedSyncPromos,
     &syncer::kSyncTrustedVaultPassphraseRecovery,
     &syncer::kSyncAndroidPromosWithSingleButton,
-    &switches::kSyncUseSessionsUnregisterDelay,
     &subresource_filter::kSafeBrowsingSubresourceFilter,
     &video_tutorials::features::kVideoTutorials,
     &webapps::features::kInstallableAmbientBadgeInfoBar,
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
index 63f5c8a..8a603e6 100644
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
@@ -494,8 +494,6 @@
             "SwapPixelFormatToFixConvertFromTranslucent";
     public static final String SYNC_TRUSTED_VAULT_PASSPHRASE_RECOVERY =
             "SyncTrustedVaultPassphraseRecovery";
-    public static final String SYNC_USE_SESSIONS_UNREGISTER_DELAY =
-            "SyncUseSessionsUnregisterDelay";
     public static final String TAB_ENGAGEMENT_REPORTING_ANDROID = "TabEngagementReportingAndroid";
     public static final String TAB_GROUPS_ANDROID = "TabGroupsAndroid";
     public static final String TAB_GROUPS_UI_IMPROVEMENTS_ANDROID =
diff --git a/chrome/browser/lacros/app_mode/OWNERS b/chrome/browser/lacros/app_mode/OWNERS
new file mode 100644
index 0000000..471d601
--- /dev/null
+++ b/chrome/browser/lacros/app_mode/OWNERS
@@ -0,0 +1 @@
+file://chrome/browser/ash/app_mode/OWNERS
diff --git a/chrome/browser/password_manager/android/credential_leak_controller_android_unittest.cc b/chrome/browser/password_manager/android/credential_leak_controller_android_unittest.cc
index e97d3e3..bbe78cd 100644
--- a/chrome/browser/password_manager/android/credential_leak_controller_android_unittest.cc
+++ b/chrome/browser/password_manager/android/credential_leak_controller_android_unittest.cc
@@ -9,7 +9,6 @@
 #include "base/strings/utf_string_conversions.h"
 #include "base/test/metrics/histogram_tester.h"
 #include "base/test/scoped_feature_list.h"
-#include "components/password_manager/core/browser/insecure_credentials_table.h"
 #include "components/password_manager/core/browser/leak_detection_dialog_utils.h"
 #include "components/password_manager/core/browser/password_manager_metrics_util.h"
 #include "components/password_manager/core/common/password_manager_features.h"
diff --git a/chrome/browser/password_manager/android/password_infobar_utils.cc b/chrome/browser/password_manager/android/password_infobar_utils.cc
index b69fb4c..5ec3215 100644
--- a/chrome/browser/password_manager/android/password_infobar_utils.cc
+++ b/chrome/browser/password_manager/android/password_infobar_utils.cc
@@ -13,41 +13,31 @@
 #include "components/signin/public/identity_manager/identity_manager.h"
 
 namespace password_manager {
-absl::optional<AccountInfo> GetAccountInfoForPasswordInfobars(Profile* profile,
-                                                              bool is_syncing) {
+AccountInfo GetAccountInfoForPasswordInfobars(Profile* profile,
+                                              bool is_syncing) {
   DCHECK(profile);
   if (!is_syncing) {
-    return absl::nullopt;
+    return AccountInfo();
   }
   signin::IdentityManager* identity_manager =
       IdentityManagerFactory::GetForProfile(profile);
   CoreAccountId account_id =
       identity_manager->GetPrimaryAccountId(signin::ConsentLevel::kSync);
-  AccountInfo account_info =
-      identity_manager->FindExtendedAccountInfoByAccountId(account_id);
-
-  return !account_info.IsEmpty()
-             ? absl::make_optional<AccountInfo>(account_info)
-             : absl::nullopt;
+  return identity_manager->FindExtendedAccountInfoByAccountId(account_id);
 }
 
-absl::optional<AccountInfo> GetAccountInfoForPasswordMessages(
-    Profile* profile) {
+AccountInfo GetAccountInfoForPasswordMessages(Profile* profile) {
   DCHECK(profile);
 
   if (!password_bubble_experiment::IsSmartLockUser(
           SyncServiceFactory::GetForProfile(profile))) {
-    return absl::nullopt;
+    return AccountInfo();
   }
   signin::IdentityManager* identity_manager =
       IdentityManagerFactory::GetForProfile(profile);
   CoreAccountId account_id =
       identity_manager->GetPrimaryAccountId(signin::ConsentLevel::kSync);
-  AccountInfo account_info =
-      identity_manager->FindExtendedAccountInfoByAccountId(account_id);
-  return account_info.IsEmpty()
-             ? absl::nullopt
-             : absl::make_optional<AccountInfo>(account_info);
+  return identity_manager->FindExtendedAccountInfoByAccountId(account_id);
 }
 
 }  // namespace password_manager
diff --git a/chrome/browser/password_manager/android/password_infobar_utils.h b/chrome/browser/password_manager/android/password_infobar_utils.h
index ba71760..3b68f06 100644
--- a/chrome/browser/password_manager/android/password_infobar_utils.h
+++ b/chrome/browser/password_manager/android/password_infobar_utils.h
@@ -6,19 +6,15 @@
 #define CHROME_BROWSER_PASSWORD_MANAGER_ANDROID_PASSWORD_INFOBAR_UTILS_H_
 
 #include "components/signin/public/identity_manager/account_info.h"
-#include "third_party/abseil-cpp/absl/types/optional.h"
 
 class Profile;
 
 namespace password_manager {
 
-// TODO(crbug.com/1277513): These functions should return a non-optional
-// AccountInfo, since AccountInfo itself already supports an "empty" state.
+AccountInfo GetAccountInfoForPasswordInfobars(Profile* profile,
+                                              bool is_syncing);
 
-absl::optional<AccountInfo> GetAccountInfoForPasswordInfobars(Profile* profile,
-                                                              bool is_syncing);
-
-absl::optional<AccountInfo> GetAccountInfoForPasswordMessages(Profile* profile);
+AccountInfo GetAccountInfoForPasswordMessages(Profile* profile);
 
 }  // namespace password_manager
 
diff --git a/chrome/browser/privacy_sandbox/android/java/res/layout/privacy_sandbox_consent.xml b/chrome/browser/privacy_sandbox/android/java/res/layout/privacy_sandbox_consent.xml
index 40c9d688..dfc7aff3 100644
--- a/chrome/browser/privacy_sandbox/android/java/res/layout/privacy_sandbox_consent.xml
+++ b/chrome/browser/privacy_sandbox/android/java/res/layout/privacy_sandbox_consent.xml
@@ -9,139 +9,147 @@
     android:id="@+id/privacy_sandbox_dialog"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
+    android:gravity="center_horizontal"
     android:orientation="vertical">
 
-    <ScrollView
+    <org.chromium.components.browser_ui.widget.BoundedLinearLayout
         android:layout_width="match_parent"
-        android:layout_height="0dp"
-        android:layout_weight="1">
+        android:layout_height="match_parent"
+        android:orientation="vertical"
+        app:maxWidthLandscape="@dimen/privacy_sandbox_dialog_max_width"
+        app:maxWidthPortrait="@dimen/privacy_sandbox_dialog_max_width">
 
-        <LinearLayout
+        <ScrollView
             android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginHorizontal="@dimen/list_item_default_margin"
-            android:animateLayoutChanges="true"
-            android:gravity="center_horizontal"
-            android:orientation="vertical">
-
-            <ImageView
-                android:layout_marginTop="@dimen/privacy_sandbox_dialog_illustration_margin_top"
-                android:layout_marginBottom="@dimen/privacy_sandbox_dialog_illustration_margin_bottom"
-                android:layout_height="wrap_content"
-                android:layout_width="wrap_content"
-                app:srcCompat="@drawable/privacy_sandbox_dialog_illustration"
-                android:importantForAccessibility="no" />
-
-            <TextView
-                android:id="@+id/privacy_sandbox_consent_title"
-                android:layout_marginBottom="@dimen/promo_between_text_margin"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:text="@string/privacy_sandbox_consent_title"
-                style="@style/TextAppearance.Headline.Primary" />
-
-            <TextView
-                android:layout_marginBottom="@dimen/list_item_default_margin"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:textAlignment="center"
-                android:text="@string/privacy_sandbox_consent_subtitle"
-                style="@style/TextAppearance.TextMedium.Primary" />
-
-            <TextView
-                android:layout_marginBottom="@dimen/promo_between_text_margin"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:text="@string/privacy_sandbox_consent_heading_one"
-                style="@style/TextAppearance.TextMedium.Primary" />
-
-            <TextView
-                android:layout_marginBottom="@dimen/list_item_default_margin"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:text="@string/privacy_sandbox_consent_description_one"
-                style="@style/TextAppearance.TextMedium.Secondary" />
-
-            <TextView
-                android:layout_marginBottom="@dimen/promo_between_text_margin"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:text="@string/privacy_sandbox_consent_heading_two"
-                style="@style/TextAppearance.TextMedium.Primary" />
-
-            <TextView
-                android:layout_marginBottom="@dimen/list_item_default_margin"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:text="@string/privacy_sandbox_consent_description_two"
-                style="@style/TextAppearance.TextMedium.Secondary" />
+            android:layout_height="0dp"
+            android:layout_weight="1">
 
             <LinearLayout
-                android:layout_marginBottom="@dimen/list_item_default_margin"
-                android:id="@+id/dropdown_element"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:layout_gravity="center"
-                android:orientation="horizontal">
+                android:layout_marginHorizontal="@dimen/list_item_default_margin"
+                android:animateLayoutChanges="true"
+                android:gravity="center_horizontal"
+                android:orientation="vertical">
+
+                <ImageView
+                    android:layout_marginTop="@dimen/privacy_sandbox_dialog_illustration_margin_top"
+                    android:layout_marginBottom="@dimen/privacy_sandbox_dialog_illustration_margin_bottom"
+                    android:layout_height="wrap_content"
+                    android:layout_width="wrap_content"
+                    app:srcCompat="@drawable/privacy_sandbox_dialog_illustration"
+                    android:importantForAccessibility="no" />
 
                 <TextView
-                    android:layout_weight="1"
-                    android:layout_width="0dp"
+                    android:id="@+id/privacy_sandbox_consent_title"
+                    android:layout_marginBottom="@dimen/promo_between_text_margin"
+                    android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
-                    android:minHeight="@dimen/privacy_sandbox_consent_dropdown_button_height"
-                    android:text="@string/privacy_sandbox_consent_dropdown_button"
+                    android:text="@string/privacy_sandbox_consent_title"
+                    style="@style/TextAppearance.Headline.Primary" />
+
+                <TextView
+                    android:layout_marginBottom="@dimen/list_item_default_margin"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:textAlignment="center"
+                    android:text="@string/privacy_sandbox_consent_subtitle"
+                    style="@style/TextAppearance.TextMedium.Primary" />
+
+                <TextView
+                    android:layout_marginBottom="@dimen/promo_between_text_margin"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:text="@string/privacy_sandbox_consent_heading_one"
+                    style="@style/TextAppearance.TextMedium.Primary" />
+
+                <TextView
+                    android:layout_marginBottom="@dimen/list_item_default_margin"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:text="@string/privacy_sandbox_consent_description_one"
                     style="@style/TextAppearance.TextMedium.Secondary" />
 
-                <org.chromium.ui.widget.CheckableImageView
-                    android:id="@+id/expand_arrow"
-                    android:layout_width="24dp"
-                    android:layout_height="@dimen/privacy_sandbox_consent_dropdown_button_height"/>
+                <TextView
+                    android:layout_marginBottom="@dimen/promo_between_text_margin"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:text="@string/privacy_sandbox_consent_heading_two"
+                    style="@style/TextAppearance.TextMedium.Primary" />
+
+                <TextView
+                    android:layout_marginBottom="@dimen/list_item_default_margin"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:text="@string/privacy_sandbox_consent_description_two"
+                    style="@style/TextAppearance.TextMedium.Secondary" />
+
+                <LinearLayout
+                    android:layout_marginBottom="@dimen/list_item_default_margin"
+                    android:id="@+id/dropdown_element"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_gravity="center"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_weight="1"
+                        android:layout_width="0dp"
+                        android:layout_height="wrap_content"
+                        android:minHeight="@dimen/privacy_sandbox_consent_dropdown_button_height"
+                        android:text="@string/privacy_sandbox_consent_dropdown_button"
+                        style="@style/TextAppearance.TextMedium.Secondary" />
+
+                    <org.chromium.ui.widget.CheckableImageView
+                        android:id="@+id/expand_arrow"
+                        android:layout_width="24dp"
+                        android:layout_height="@dimen/privacy_sandbox_consent_dropdown_button_height"/>
+
+                </LinearLayout>
+
+                <LinearLayout
+                    android:id="@+id/dropdown_container"
+                    android:orientation="vertical"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:visibility="gone" />
+
+                <TextView
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:text="@string/privacy_sandbox_consent_description_three"
+                    style="@style/TextAppearance.TextMedium.Secondary" />
 
             </LinearLayout>
 
-            <LinearLayout
-                android:id="@+id/dropdown_container"
-                android:orientation="vertical"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:visibility="gone" />
+        </ScrollView>
 
-            <TextView
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:text="@string/privacy_sandbox_consent_description_three"
-                style="@style/TextAppearance.TextMedium.Secondary" />
+        <LinearLayout
+            android:orientation="horizontal"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_margin="@dimen/promo_dialog_padding"
+            android:weightSum="2">
 
+            <org.chromium.ui.widget.ButtonCompat
+                android:id="@+id/no_button"
+                android:focusable="true"
+                android:layout_width="0dp"
+                android:layout_weight="1"
+                android:layout_height="wrap_content"
+                android:layout_marginEnd="@dimen/privacy_sandbox_consent_button_margin_between"
+                android:text="@string/privacy_sandbox_dialog_no_button"
+                style="@style/OutlinedButton" />
+
+            <org.chromium.ui.widget.ButtonCompat
+                android:id="@+id/yes_button"
+                android:focusable="true"
+                android:layout_width="0dp"
+                android:layout_weight="1"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="@dimen/privacy_sandbox_consent_button_margin_between"
+                android:text="@string/privacy_sandbox_dialog_yes_button"
+                style="@style/OutlinedButton" />
         </LinearLayout>
-
-    </ScrollView>
-
-    <LinearLayout
-        android:orientation="horizontal"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_margin="@dimen/promo_dialog_padding"
-        android:weightSum="2">
-
-        <org.chromium.ui.widget.ButtonCompat
-            android:id="@+id/no_button"
-            android:focusable="true"
-            android:layout_width="0dp"
-            android:layout_weight="1"
-            android:layout_height="wrap_content"
-            android:layout_marginEnd="@dimen/privacy_sandbox_consent_button_margin_between"
-            android:text="@string/privacy_sandbox_dialog_no_button"
-            style="@style/OutlinedButton" />
-
-        <org.chromium.ui.widget.ButtonCompat
-            android:id="@+id/yes_button"
-            android:focusable="true"
-            android:layout_width="0dp"
-            android:layout_weight="1"
-            android:layout_height="wrap_content"
-            android:layout_marginStart="@dimen/privacy_sandbox_consent_button_margin_between"
-            android:text="@string/privacy_sandbox_dialog_yes_button"
-            style="@style/OutlinedButton" />
-    </LinearLayout>
-
+    </org.chromium.components.browser_ui.widget.BoundedLinearLayout>
 </LinearLayout>
diff --git a/chrome/browser/privacy_sandbox/android/java/res/layout/privacy_sandbox_notice.xml b/chrome/browser/privacy_sandbox/android/java/res/layout/privacy_sandbox_notice.xml
index cc32469..b024bede 100644
--- a/chrome/browser/privacy_sandbox/android/java/res/layout/privacy_sandbox_notice.xml
+++ b/chrome/browser/privacy_sandbox/android/java/res/layout/privacy_sandbox_notice.xml
@@ -9,102 +9,110 @@
     android:id="@+id/privacy_sandbox_dialog"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
+    android:gravity="center_horizontal"
     android:orientation="vertical">
 
-    <ScrollView
+    <org.chromium.components.browser_ui.widget.BoundedLinearLayout
         android:layout_width="match_parent"
-        android:layout_height="0dp"
-        android:layout_weight="1">
+        android:layout_height="match_parent"
+        android:orientation="vertical"
+        app:maxWidthLandscape="@dimen/privacy_sandbox_dialog_max_width"
+        app:maxWidthPortrait="@dimen/privacy_sandbox_dialog_max_width">
+
+        <ScrollView
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            android:layout_weight="1">
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginHorizontal="@dimen/list_item_default_margin"
+                android:animateLayoutChanges="true"
+                android:gravity="center_horizontal"
+                android:orientation="vertical">
+
+                <ImageView
+                    android:layout_marginTop="@dimen/privacy_sandbox_dialog_illustration_margin_top"
+                    android:layout_marginBottom="@dimen/privacy_sandbox_dialog_illustration_margin_bottom"
+                    android:layout_height="wrap_content"
+                    android:layout_width="wrap_content"
+                    app:srcCompat="@drawable/privacy_sandbox_dialog_illustration"
+                    android:importantForAccessibility="no" />
+
+                <TextView
+                    android:id="@+id/privacy_sandbox_notice_title"
+                    android:layout_marginBottom="@dimen/list_item_default_margin"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="@string/privacy_sandbox_notice_title"
+                    android:gravity="center"
+                    style="@style/TextAppearance.Headline.Primary" />
+
+                <TextView
+                    android:layout_marginBottom="@dimen/promo_between_text_margin"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:text="@string/privacy_sandbox_consent_heading_one"
+                    style="@style/TextAppearance.TextMedium.Primary" />
+
+                <TextView
+                    android:layout_marginBottom="@dimen/list_item_default_margin"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:text="@string/privacy_sandbox_notice_description_one"
+                    style="@style/TextAppearance.TextMedium.Secondary" />
+
+                <TextView
+                    android:layout_marginBottom="@dimen/promo_between_text_margin"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:text="@string/privacy_sandbox_consent_heading_two"
+                    style="@style/TextAppearance.TextMedium.Primary" />
+
+                <TextView
+                    android:layout_marginBottom="@dimen/promo_between_text_margin"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:text="@string/privacy_sandbox_notice_description_two"
+                    style="@style/TextAppearance.TextMedium.Secondary" />
+
+                <TextView
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:text="@string/privacy_sandbox_notice_description_three"
+                    style="@style/TextAppearance.TextMedium.Secondary" />
+
+            </LinearLayout>
+
+        </ScrollView>
 
         <LinearLayout
+            android:orientation="horizontal"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_marginHorizontal="@dimen/list_item_default_margin"
-            android:animateLayoutChanges="true"
-            android:gravity="center_horizontal"
-            android:orientation="vertical">
+            android:layout_margin="@dimen/promo_dialog_padding"
+            android:weightSum="2">
 
-            <ImageView
-                android:layout_marginTop="@dimen/privacy_sandbox_dialog_illustration_margin_top"
-                android:layout_marginBottom="@dimen/privacy_sandbox_dialog_illustration_margin_bottom"
+            <org.chromium.ui.widget.ButtonCompat
+                android:id="@+id/settings_button"
+                android:focusable="true"
+                android:layout_width="0dp"
+                android:layout_weight="1"
                 android:layout_height="wrap_content"
-                android:layout_width="wrap_content"
-                app:srcCompat="@drawable/privacy_sandbox_dialog_illustration"
-                android:importantForAccessibility="no" />
+                android:layout_gravity="center_vertical"
+                android:text="@string/privacy_sandbox_dialog_settings_button"
+                style="@style/TextButton" />
 
-            <TextView
-                android:id="@+id/privacy_sandbox_notice_title"
-                android:layout_marginBottom="@dimen/list_item_default_margin"
-                android:layout_width="wrap_content"
+            <org.chromium.ui.widget.ButtonCompat
+                android:id="@+id/ack_button"
+                android:focusable="true"
+                android:layout_width="0dp"
+                android:layout_weight="1"
                 android:layout_height="wrap_content"
-                android:text="@string/privacy_sandbox_notice_title"
-                android:gravity="center"
-                style="@style/TextAppearance.Headline.Primary" />
-
-            <TextView
-                android:layout_marginBottom="@dimen/promo_between_text_margin"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:text="@string/privacy_sandbox_consent_heading_one"
-                style="@style/TextAppearance.TextMedium.Primary" />
-
-            <TextView
-                android:layout_marginBottom="@dimen/list_item_default_margin"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:text="@string/privacy_sandbox_notice_description_one"
-                style="@style/TextAppearance.TextMedium.Secondary" />
-
-            <TextView
-                android:layout_marginBottom="@dimen/promo_between_text_margin"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:text="@string/privacy_sandbox_consent_heading_two"
-                style="@style/TextAppearance.TextMedium.Primary" />
-
-            <TextView
-                android:layout_marginBottom="@dimen/promo_between_text_margin"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:text="@string/privacy_sandbox_notice_description_two"
-                style="@style/TextAppearance.TextMedium.Secondary" />
-
-            <TextView
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:text="@string/privacy_sandbox_notice_description_three"
-                style="@style/TextAppearance.TextMedium.Secondary" />
-
+                android:layout_marginBottom="@dimen/privacy_sandbox_notice_button_margin_between"
+                android:text="@string/privacy_sandbox_dialog_acknowledge_button"
+                style="@style/FilledButton.Flat" />
         </LinearLayout>
-
-    </ScrollView>
-
-    <LinearLayout
-        android:orientation="horizontal"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_margin="@dimen/promo_dialog_padding"
-        android:weightSum="2">
-
-        <org.chromium.ui.widget.ButtonCompat
-            android:id="@+id/settings_button"
-            android:focusable="true"
-            android:layout_width="0dp"
-            android:layout_weight="1"
-            android:layout_height="wrap_content"
-            android:layout_gravity="center_vertical"
-            android:text="@string/privacy_sandbox_dialog_settings_button"
-            style="@style/TextButton" />
-
-        <org.chromium.ui.widget.ButtonCompat
-            android:id="@+id/ack_button"
-            android:focusable="true"
-            android:layout_width="0dp"
-            android:layout_weight="1"
-            android:layout_height="wrap_content"
-            android:layout_marginBottom="@dimen/privacy_sandbox_notice_button_margin_between"
-            android:text="@string/privacy_sandbox_dialog_acknowledge_button"
-            style="@style/FilledButton.Flat" />
-    </LinearLayout>
-
+    </org.chromium.components.browser_ui.widget.BoundedLinearLayout>
 </LinearLayout>
diff --git a/chrome/browser/privacy_sandbox/android/java/res/values/dimens.xml b/chrome/browser/privacy_sandbox/android/java/res/values/dimens.xml
index 273e07d6..4f4ca48 100644
--- a/chrome/browser/privacy_sandbox/android/java/res/values/dimens.xml
+++ b/chrome/browser/privacy_sandbox/android/java/res/values/dimens.xml
@@ -8,6 +8,7 @@
   <dimen name="privacy_sandbox_illustration_width">120dp</dimen>
   <dimen name="privacy_sandbox_dialog_illustration_margin_top">32dp</dimen>
   <dimen name="privacy_sandbox_dialog_illustration_margin_bottom">16dp</dimen>
+  <dimen name="privacy_sandbox_dialog_max_width">600dp</dimen>
   <dimen name="privacy_sandbox_consent_button_margin_between">8dp</dimen>
   <dimen name="privacy_sandbox_notice_button_margin_between">4dp</dimen>
   <dimen name="privacy_sandbox_consent_dropdown_button_height">24dp</dimen>
diff --git a/chrome/browser/privacy_sandbox/android/javatests/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxSettingsFragmentV3Test.java b/chrome/browser/privacy_sandbox/android/javatests/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxSettingsFragmentV3Test.java
index ff50d18..677c24ac 100644
--- a/chrome/browser/privacy_sandbox/android/javatests/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxSettingsFragmentV3Test.java
+++ b/chrome/browser/privacy_sandbox/android/javatests/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxSettingsFragmentV3Test.java
@@ -8,6 +8,7 @@
 import static androidx.test.espresso.action.ViewActions.click;
 import static androidx.test.espresso.assertion.ViewAssertions.doesNotExist;
 import static androidx.test.espresso.assertion.ViewAssertions.matches;
+import static androidx.test.espresso.matcher.ViewMatchers.hasDescendant;
 import static androidx.test.espresso.matcher.ViewMatchers.hasSibling;
 import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
 import static androidx.test.espresso.matcher.ViewMatchers.withChild;
@@ -30,6 +31,7 @@
 import android.view.View;
 
 import androidx.annotation.StringRes;
+import androidx.test.espresso.contrib.RecyclerViewActions;
 import androidx.test.filters.SmallTest;
 
 import org.hamcrest.BaseMatcher;
@@ -134,6 +136,11 @@
                 .perform(click());
     }
 
+    private void scrollToSetting(Matcher<View> matcher) {
+        onView(withId(R.id.recycler_view))
+                .perform(RecyclerViewActions.scrollTo(hasDescendant(matcher)));
+    }
+
     @Test
     @SmallTest
     @Feature({"RenderTest"})
@@ -192,6 +199,7 @@
     @Feature({"RenderTest"})
     public void testRenderSpamFraudView() throws IOException {
         openPrivacySandboxSettings();
+        scrollToSetting(withText(R.string.privacy_sandbox_spam_fraud_title));
         onView(withText(R.string.privacy_sandbox_spam_fraud_title)).perform(click());
         mRenderTestRule.render(
                 getRootView(R.string.privacy_sandbox_spam_fraud_description_trials_on),
@@ -282,6 +290,7 @@
     @SmallTest
     public void testSpamFraudView() {
         openPrivacySandboxSettings();
+        scrollToSetting(withText(R.string.privacy_sandbox_spam_fraud_title));
         onView(withText(R.string.privacy_sandbox_spam_fraud_title)).perform(click());
         onView(withText(R.string.privacy_sandbox_spam_fraud_description_trials_on))
                 .check(matches(isDisplayed()));
@@ -292,6 +301,7 @@
     public void testSpamFraudViewTrialsOff() {
         PrivacySandboxBridge.setPrivacySandboxEnabled(false);
         openPrivacySandboxSettings();
+        scrollToSetting(withText(R.string.privacy_sandbox_spam_fraud_title));
         onView(withText(R.string.privacy_sandbox_spam_fraud_title)).perform(click());
         onView(withText(R.string.privacy_sandbox_spam_fraud_description_trials_off))
                 .check(matches(isDisplayed()));
diff --git a/chrome/browser/profiles/profile_shortcut_manager.h b/chrome/browser/profiles/profile_shortcut_manager.h
index deb8b75..e138f2e5 100644
--- a/chrome/browser/profiles/profile_shortcut_manager.h
+++ b/chrome/browser/profiles/profile_shortcut_manager.h
@@ -32,11 +32,6 @@
   // profile created.
   virtual void CreateProfileShortcut(const base::FilePath& profile_path) = 0;
 
-  // Create an incognito desktop shortcut for the profile with path
-  // |profile_path|
-  virtual void CreateIncognitoProfileShortcut(
-      const base::FilePath& profile_path) = 0;
-
   // Removes any desktop profile shortcuts for the profile corresponding to
   // |profile_path|.
   virtual void RemoveProfileShortcuts(const base::FilePath& profile_path) = 0;
diff --git a/chrome/browser/profiles/profile_shortcut_manager_unittest_win.cc b/chrome/browser/profiles/profile_shortcut_manager_unittest_win.cc
index 4481e350..b2cef54 100644
--- a/chrome/browser/profiles/profile_shortcut_manager_unittest_win.cc
+++ b/chrome/browser/profiles/profile_shortcut_manager_unittest_win.cc
@@ -410,21 +410,6 @@
             profiles::internal::CreateProfileShortcutFlags(profile_path));
 }
 
-// Test ensures that the incognito switch and parent profile are added when
-// creating profile shortcut flags for incognito mode.
-TEST_F(ProfileShortcutManagerTest, IncognitoShortcutFlags) {
-  const std::wstring kProfileName = L"MyProfileX";
-  const base::FilePath profile_path =
-      profile_manager_->profiles_dir().Append(kProfileName);
-  const std::wstring shortcut_flags =
-      profiles::internal::CreateProfileShortcutFlags(profile_path,
-                                                     /*incognito=*/true);
-  EXPECT_NE(
-      shortcut_flags.find(L"--profile-directory=\"" + kProfileName + L"\""),
-      shortcut_flags.size());
-  EXPECT_NE(shortcut_flags.find(L"--incognito"), shortcut_flags.size());
-}
-
 TEST_F(ProfileShortcutManagerTest, DesktopShortcutsCreate) {
   SetupDefaultProfileShortcut(FROM_HERE);
   // Validation is done by |ValidateProfileShortcutAtPath()| which is called
diff --git a/chrome/browser/profiles/profile_shortcut_manager_win.cc b/chrome/browser/profiles/profile_shortcut_manager_win.cc
index e365016..c7b5c9e 100644
--- a/chrome/browser/profiles/profile_shortcut_manager_win.cc
+++ b/chrome/browser/profiles/profile_shortcut_manager_win.cc
@@ -861,16 +861,6 @@
       /*incognito=*/false);
 }
 
-// Creates an incognito desktop shortcut for the current profile.
-// TODO(crbug.com/1113162): Update the shortcut label and icon to chrome +
-// incognito.
-void ProfileShortcutManagerWin::CreateIncognitoProfileShortcut(
-    const base::FilePath& profile_path) {
-  CreateOrUpdateShortcutsForProfileAtPath(profile_path, CREATE_WHEN_NONE_FOUND,
-                                          IGNORE_NON_PROFILE_SHORTCUTS,
-                                          /*incognito=*/true);
-}
-
 void ProfileShortcutManagerWin::CreateProfileShortcut(
     const base::FilePath& profile_path) {
   CreateOrUpdateShortcutsForProfileAtPath(profile_path, CREATE_WHEN_NONE_FOUND,
diff --git a/chrome/browser/profiles/profile_shortcut_manager_win.h b/chrome/browser/profiles/profile_shortcut_manager_win.h
index 0e0a8a2..1007869 100644
--- a/chrome/browser/profiles/profile_shortcut_manager_win.h
+++ b/chrome/browser/profiles/profile_shortcut_manager_win.h
@@ -95,8 +95,6 @@
   ~ProfileShortcutManagerWin() override;
 
   // ProfileShortcutManager implementation:
-  void CreateIncognitoProfileShortcut(
-      const base::FilePath& profile_path) override;
   void CreateOrUpdateProfileIcon(const base::FilePath& profile_path) override;
   void CreateProfileShortcut(const base::FilePath& profile_path) override;
   void RemoveProfileShortcuts(const base::FilePath& profile_path) override;
diff --git a/chrome/browser/renderer_context_menu/render_view_context_menu.cc b/chrome/browser/renderer_context_menu/render_view_context_menu.cc
index 5e4b07c..c037f971 100644
--- a/chrome/browser/renderer_context_menu/render_view_context_menu.cc
+++ b/chrome/browser/renderer_context_menu/render_view_context_menu.cc
@@ -87,6 +87,7 @@
 #include "chrome/browser/ui/send_tab_to_self/send_tab_to_self_bubble_controller.h"
 #include "chrome/browser/ui/tab_contents/core_tab_helper.h"
 #include "chrome/browser/ui/tabs/tab_strip_model.h"
+#include "chrome/browser/ui/ui_features.h"
 #include "chrome/browser/ui/web_applications/app_browser_controller.h"
 #include "chrome/browser/ui/web_applications/system_web_app_ui_utils.h"
 #include "chrome/browser/ui/webui/history/foreign_session_handler.h"
@@ -1350,7 +1351,9 @@
         }
       }
 
-      if (multiple_profiles_open_ && !target_profiles_entries.empty()) {
+      if ((multiple_profiles_open_ ||
+           base::FeatureList::IsEnabled(features::kDisplayOpenLinkAsProfile)) &&
+          !target_profiles_entries.empty()) {
         if (target_profiles_entries.size() == 1) {
           int menu_index = static_cast<int>(profile_link_paths_.size());
           ProfileAttributesEntry* entry = target_profiles_entries.front();
diff --git a/chrome/browser/renderer_context_menu/render_view_context_menu_browsertest.cc b/chrome/browser/renderer_context_menu/render_view_context_menu_browsertest.cc
index 3eea68e..81467a8 100644
--- a/chrome/browser/renderer_context_menu/render_view_context_menu_browsertest.cc
+++ b/chrome/browser/renderer_context_menu/render_view_context_menu_browsertest.cc
@@ -41,6 +41,7 @@
 #include "chrome/browser/ui/browser_finder.h"
 #include "chrome/browser/ui/exclusive_access/exclusive_access_manager.h"
 #include "chrome/browser/ui/tabs/tab_strip_model.h"
+#include "chrome/browser/ui/ui_features.h"
 #include "chrome/browser/ui/web_applications/test/web_app_browsertest_util.h"
 #include "chrome/browser/web_applications/os_integration/os_integration_manager.h"
 #include "chrome/browser/web_applications/test/web_app_install_test_utils.h"
@@ -324,6 +325,13 @@
   web_app::OsIntegrationManager::ScopedSuppressForTesting os_hooks_suppress_;
 };
 
+class ContextMenuWithProfileLinksBrowserTest : public ContextMenuBrowserTest {
+ public:
+ private:
+  base::test::ScopedFeatureList scoped_feature_list_{
+      features::kDisplayOpenLinkAsProfile};
+};
+
 class PdfPluginContextMenuBrowserTest : public InProcessBrowserTest {
  public:
   PdfPluginContextMenuBrowserTest() = default;
@@ -1330,6 +1338,9 @@
 
 // Functionality is not present on ChromeOS.
 #if !BUILDFLAG(IS_CHROMEOS_ASH)
+// TODO(https://crbug.com/1246393): delete this test when
+// `features::kDisplayOpenLinkAsProfile` is launched, as it is superseded by
+// `ContextMenuWithProfileLinksBrowserTest`.
 IN_PROC_BROWSER_TEST_F(ContextMenuBrowserTest, DISABLED_OpenLinkInProfileEntryPresent) {
   {
     std::unique_ptr<TestRenderViewContextMenu> menu(
@@ -2135,4 +2146,81 @@
   ASSERT_TRUE(menu->IsItemPresent(IDC_CONTENT_CONTEXT_COPY));
   EXPECT_FALSE(menu->IsItemPresent(IDC_CONTENT_CONTEXT_COPYLINKTOTEXT));
 }
+
+// Functionality is not present on ChromeOS.
+#if !BUILDFLAG(IS_CHROMEOS_ASH)
+IN_PROC_BROWSER_TEST_F(ContextMenuWithProfileLinksBrowserTest,
+                       OpenLinkInProfileEntryPresent) {
+  {
+    std::unique_ptr<TestRenderViewContextMenu> menu(
+        CreateContextMenuMediaTypeNone(GURL("http://www.google.com/"),
+                                       GURL("http://www.google.com/")));
+
+    ASSERT_TRUE(menu->IsItemPresent(IDC_CONTENT_CONTEXT_OPENLINKNEWTAB));
+    ASSERT_TRUE(menu->IsItemPresent(IDC_CONTENT_CONTEXT_OPENLINKNEWWINDOW));
+    ASSERT_TRUE(menu->IsItemPresent(IDC_CONTENT_CONTEXT_COPYLINKLOCATION));
+    // With only one profile exists, we don't add any items to the context menu
+    // for opening links in other profiles.
+    ASSERT_FALSE(menu->IsItemPresent(IDC_CONTENT_CONTEXT_OPENLINKINPROFILE));
+    ASSERT_FALSE(menu->IsItemInRangePresent(IDC_OPEN_LINK_IN_PROFILE_FIRST,
+                                            IDC_OPEN_LINK_IN_PROFILE_LAST));
+  }
+
+  // Create one additional profile, but do not yet open windows in it.
+  Profile* profile = CreateSecondaryProfile(1);
+
+  {
+    std::unique_ptr<TestRenderViewContextMenu> menu(
+        CreateContextMenuMediaTypeNone(GURL("http://www.google.com/"),
+                                       GURL("http://www.google.com/")));
+
+    ASSERT_TRUE(menu->IsItemPresent(IDC_CONTENT_CONTEXT_OPENLINKNEWTAB));
+    ASSERT_TRUE(menu->IsItemPresent(IDC_CONTENT_CONTEXT_OPENLINKNEWWINDOW));
+    ASSERT_TRUE(menu->IsItemPresent(IDC_CONTENT_CONTEXT_COPYLINKLOCATION));
+    // With the second profile not open, an inline entry to open the link with
+    // the secondary profile is displayed.
+    ASSERT_FALSE(menu->IsItemPresent(IDC_CONTENT_CONTEXT_OPENLINKINPROFILE));
+    ASSERT_TRUE(menu->IsItemPresent(IDC_OPEN_LINK_IN_PROFILE_FIRST));
+  }
+
+  profiles::FindOrCreateNewWindowForProfile(
+      profile, chrome::startup::IsProcessStartup::kNo,
+      chrome::startup::IsFirstRun::kNo, false);
+
+  {
+    std::unique_ptr<TestRenderViewContextMenu> menu(
+        CreateContextMenuMediaTypeNone(GURL("http://www.google.com/"),
+                                       GURL("http://www.google.com/")));
+
+    ASSERT_TRUE(menu->IsItemPresent(IDC_CONTENT_CONTEXT_OPENLINKNEWTAB));
+    ASSERT_TRUE(menu->IsItemPresent(IDC_CONTENT_CONTEXT_OPENLINKNEWWINDOW));
+    ASSERT_TRUE(menu->IsItemPresent(IDC_CONTENT_CONTEXT_COPYLINKLOCATION));
+    // With the second profile open, an inline entry to open the link with the
+    // secondary profile is displayed.
+    ASSERT_FALSE(menu->IsItemPresent(IDC_CONTENT_CONTEXT_OPENLINKINPROFILE));
+    ASSERT_TRUE(menu->IsItemPresent(IDC_OPEN_LINK_IN_PROFILE_FIRST));
+  }
+
+  CreateSecondaryProfile(2);
+
+  {
+    std::unique_ptr<TestRenderViewContextMenu> menu(
+        CreateContextMenuMediaTypeNone(GURL("http://www.google.com/"),
+                                       GURL("http://www.google.com/")));
+
+    ASSERT_TRUE(menu->IsItemPresent(IDC_CONTENT_CONTEXT_OPENLINKNEWTAB));
+    ASSERT_TRUE(menu->IsItemPresent(IDC_CONTENT_CONTEXT_OPENLINKNEWWINDOW));
+    ASSERT_TRUE(menu->IsItemPresent(IDC_CONTENT_CONTEXT_COPYLINKLOCATION));
+    // With at least two secondary profiles, they are displayed in a submenu.
+    ui::MenuModel* model = nullptr;
+    int index = -1;
+    ASSERT_TRUE(menu->GetMenuModelAndItemIndex(IDC_OPEN_LINK_IN_PROFILE_FIRST,
+                                               &model, &index));
+    ASSERT_EQ(2, model->GetItemCount());
+    ASSERT_FALSE(menu->IsItemInRangePresent(IDC_OPEN_LINK_IN_PROFILE_FIRST,
+                                            IDC_OPEN_LINK_IN_PROFILE_LAST));
+  }
+}
+
+#endif
 }  // namespace
diff --git a/chrome/browser/resources/settings/privacy_sandbox/app.html b/chrome/browser/resources/settings/privacy_sandbox/app.html
index b3267d5..688c0e5 100644
--- a/chrome/browser/resources/settings/privacy_sandbox/app.html
+++ b/chrome/browser/resources/settings/privacy_sandbox/app.html
@@ -153,19 +153,6 @@
     --paper-tooltip-delay-in: 300;
     --paper-tooltip-duration-in: 300;
     --paper-tooltip-opacity: 1;
-    /* CSS mixin goes against style guide, but this is the only way to style
-     * the paper tooltip without changing the source code (which is in
-     * third_party)
-     */
-    --paper-tooltip: {
-      border-radius: 4px;
-      box-shadow: var(--cr-elevation-2);
-      font-family: Roboto, Arial, sans-serif;
-      font-size: inherit;
-      font-weight: 400;
-      line-height: 154%;  /* 20px. */
-      margin: 0 4px;
-    };
   }
 </style>
 
diff --git a/chrome/browser/resources/settings/privacy_sandbox/app.ts b/chrome/browser/resources/settings/privacy_sandbox/app.ts
index ccb92f94..ebe70bb 100644
--- a/chrome/browser/resources/settings/privacy_sandbox/app.ts
+++ b/chrome/browser/resources/settings/privacy_sandbox/app.ts
@@ -359,6 +359,33 @@
         target.id === 'topicsTooltipIcon' ? '#topicsTooltip' :
                                             '#fledgeTooltip')!;
 
+    // Directly inject the required style into the stylesheets of the paper
+    // tooltip element. This is a workaround for CSS mixin properties seemingly
+    // being removed in optimized WebUI builds, and the paper-tooltip not
+    // supporting other styling methods.
+    // TODO(crbug.com/1308262): Expose required style hooks on paper-tooltip
+    const sheet = new CSSStyleSheet();
+    // @ts-ignore
+    sheet.replaceSync(`
+      #tooltip {
+            border-radius: 4px;
+            box-shadow: var(--cr-elevation-2);
+            font-family: Roboto, Arial, sans-serif;
+            font-size: inherit;
+            font-weight: 400;
+            line-height: 154%;  /* 20px. */
+            margin: 0 4px;
+      }`);
+    // @ts-ignore
+    const elemStyleSheets = tooltip.shadowRoot.adoptedStyleSheets;
+
+    if (elemStyleSheets.length === 0 ||
+        JSON.stringify(elemStyleSheets.slice(-1)[0]) !==
+            JSON.stringify(sheet)) {
+      // @ts-ignore
+      tooltip.shadowRoot.adoptedStyleSheets = [...elemStyleSheets, sheet];
+    }
+
     const hide = () => {
       tooltip.hide();
       target.removeEventListener('mouseleave', hide);
diff --git a/chrome/browser/sync/test/integration/passwords_helper.h b/chrome/browser/sync/test/integration/passwords_helper.h
index 918e148..811d1f1 100644
--- a/chrome/browser/sync/test/integration/passwords_helper.h
+++ b/chrome/browser/sync/test/integration/passwords_helper.h
@@ -13,7 +13,6 @@
 #include "chrome/browser/sync/test/integration/multi_client_status_change_checker.h"
 #include "chrome/browser/sync/test/integration/single_client_status_change_checker.h"
 #include "chrome/browser/sync/test/integration/sync_test.h"
-#include "components/password_manager/core/browser/insecure_credentials_table.h"
 #include "components/password_manager/core/browser/password_form.h"
 
 namespace syncer {
diff --git a/chrome/browser/themes/browser_theme_pack.cc b/chrome/browser/themes/browser_theme_pack.cc
index b86630df..b5008110 100644
--- a/chrome/browser/themes/browser_theme_pack.cc
+++ b/chrome/browser/themes/browser_theme_pack.cc
@@ -1583,7 +1583,7 @@
     // TODO(pkasting): Should this code be shared with
     // ThemeHelper::GetDefaultColor() somehow?
     const SkColor button_color =
-        color_utils::HSLShift(gfx::kChromeIconGrey, button_tint);
+        color_utils::HSLShift(gfx::kGoogleGrey700, button_tint);
     SetColor(TP::COLOR_TAB_THROBBER_SPINNING, button_color);
     SetColor(TP::COLOR_TAB_THROBBER_WAITING, button_color);
   }
diff --git a/chrome/browser/themes/theme_helper.cc b/chrome/browser/themes/theme_helper.cc
index 87b25a8..94996fe 100644
--- a/chrome/browser/themes/theme_helper.cc
+++ b/chrome/browser/themes/theme_helper.cc
@@ -476,7 +476,7 @@
     case TP::COLOR_TOOLBAR_BUTTON_ICON_HOVERED:
     case TP::COLOR_TOOLBAR_BUTTON_ICON_PRESSED:
       return color_utils::HSLShift(
-          gfx::kChromeIconGrey,
+          gfx::kGoogleGrey700,
           GetTint(TP::TINT_BUTTONS, incognito, theme_supplier));
     case TP::COLOR_TOOLBAR_BUTTON_ICON_INACTIVE:
       // The active color is overridden in GtkUi.
diff --git a/chrome/browser/themes/theme_properties.cc b/chrome/browser/themes/theme_properties.cc
index 6104be5b..6680a32 100644
--- a/chrome/browser/themes/theme_properties.cc
+++ b/chrome/browser/themes/theme_properties.cc
@@ -276,7 +276,7 @@
   // TINT_BUTTONS is used by ThemeService::GetDefaultColor() for both incognito
   // and dark mode, and so must be applied to both.
   if ((id == TINT_BUTTONS) && (incognito || dark_mode))
-    return {-1, 0.57, 0.9605};  // kChromeIconGrey -> kGoogleGrey100
+    return {-1, 0.57, 0.9605};  // kGoogleGrey700 -> kGoogleGrey100
 
   if ((id == TINT_FRAME) && incognito)
     return {-1, 0.7, 0.075};  // #DEE1E6 -> kGoogleGrey900
diff --git a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_da.xtb b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_da.xtb
index 2999700..a3644e25 100644
--- a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_da.xtb
+++ b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_da.xtb
@@ -7,6 +7,7 @@
 <translation id="2359808026110333948">Fortsæt</translation>
 <translation id="2410754283952462441">Vælg en konto</translation>
 <translation id="3399357656427473483">Liste over loginoplysninger, der udfyldes ved berøring.</translation>
+<translation id="3653689374478248324">Du logger ind på <ph name="SITE_NAME" /></translation>
 <translation id="3950820424414687140">Log ind</translation>
 <translation id="5441504010984421144">Listen over loginoplysninger, der udfyldes ved berøring, er åbnet i fuld højde.</translation>
 <translation id="5624120631404540903">Administrer adgangskoder</translation>
diff --git a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_pa.xtb b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_pa.xtb
index 78447d2..f53dcc7 100644
--- a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_pa.xtb
+++ b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_pa.xtb
@@ -7,6 +7,7 @@
 <translation id="2359808026110333948">ਜਾਰੀ ਰੱਖੋ</translation>
 <translation id="2410754283952462441">ਕੋਈ ਖਾਤਾ ਚੁਣੋ</translation>
 <translation id="3399357656427473483">ਸਪਰਸ਼ ਕਰਕੇ ਭਰੇ ਜਾਣ ਵਾਲੇ ਕ੍ਰੀਡੈਂਸ਼ੀਅਲਾਂ ਦੀ ਸੂਚੀ</translation>
+<translation id="3653689374478248324">ਤੁਸੀਂ <ph name="SITE_NAME" /> ਵਿੱਚ ਸਾਈਨ-ਇਨ ਕਰੋਗੇ</translation>
 <translation id="3950820424414687140">ਸਾਈਨ-ਇਨ ਕਰੋ</translation>
 <translation id="5441504010984421144">ਸਪਰਸ਼ ਕਰਕੇ ਭਰੇ ਜਾਣ ਵਾਲੇ ਕ੍ਰੀਡੈਂਸ਼ੀਅਲਾਂ ਦੀ ਸੂਚੀ ਪੂਰੀ ਉਚਾਈ ਤੱਕ ਖੁੱਲ੍ਹੀ ਹੋਈ ਹੈ।</translation>
 <translation id="5624120631404540903">ਪਾਸਵਰਡ ਵਿਵਸਥਿਤ ਕਰੋ</translation>
diff --git a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_tr.xtb b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_tr.xtb
index b59d859..498d855 100644
--- a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_tr.xtb
+++ b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_tr.xtb
@@ -7,6 +7,7 @@
 <translation id="2359808026110333948">Devam et</translation>
 <translation id="2410754283952462441">Bir hesap seçin</translation>
 <translation id="3399357656427473483">Dokunarak doldurulacak kimlik bilgisi listesi.</translation>
+<translation id="3653689374478248324"><ph name="SITE_NAME" /> sitesinde oturum açacaksınız</translation>
 <translation id="3950820424414687140">Oturum açın</translation>
 <translation id="5441504010984421144">Dokunarak doldurulacak kimlik bilgisi listesi tam ekranda açıldı.</translation>
 <translation id="5624120631404540903">Şifreleri yönet</translation>
diff --git a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_uk.xtb b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_uk.xtb
index 30c8623..9c7f104a 100644
--- a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_uk.xtb
+++ b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_uk.xtb
@@ -7,6 +7,7 @@
 <translation id="2359808026110333948">Продовжити</translation>
 <translation id="2410754283952462441">Виберіть обліковий запис</translation>
 <translation id="3399357656427473483">Список облікових даних, які вставляються дотиком.</translation>
+<translation id="3653689374478248324">Ви ввійдете на сайт <ph name="SITE_NAME" /></translation>
 <translation id="3950820424414687140">Вхід</translation>
 <translation id="5441504010984421144">Список облікових даних, які вставляються дотиком, відкрито на всю висоту екрана.</translation>
 <translation id="5624120631404540903">Керувати паролями</translation>
diff --git a/chrome/browser/ui/android/infobars/save_password_infobar.cc b/chrome/browser/ui/android/infobars/save_password_infobar.cc
index 728be05..c7ddba5 100644
--- a/chrome/browser/ui/android/infobars/save_password_infobar.cc
+++ b/chrome/browser/ui/android/infobars/save_password_infobar.cc
@@ -18,10 +18,9 @@
 
 SavePasswordInfoBar::SavePasswordInfoBar(
     std::unique_ptr<SavePasswordInfoBarDelegate> delegate,
-    absl::optional<AccountInfo> account_info)
-    : infobars::ConfirmInfoBar(std::move(delegate)) {
-  account_info_ = account_info;
-}
+    const AccountInfo& account_info)
+    : infobars::ConfirmInfoBar(std::move(delegate)),
+      account_info_(account_info) {}
 
 SavePasswordInfoBar::~SavePasswordInfoBar() = default;
 
@@ -43,9 +42,8 @@
   ScopedJavaLocalRef<jstring> details_message_text = ConvertUTF16ToJavaString(
       env, save_password_delegate->GetDetailsMessageText());
   ScopedJavaLocalRef<jobject> account_info =
-      account_info_.has_value()
-          ? ConvertToJavaAccountInfo(env, account_info_.value())
-          : nullptr;
+      !account_info_.IsEmpty() ? ConvertToJavaAccountInfo(env, account_info_)
+                               : nullptr;
 
   base::android::ScopedJavaLocalRef<jobject> infobar;
   infobar.Reset(Java_SavePasswordInfoBar_show(
diff --git a/chrome/browser/ui/android/infobars/save_password_infobar.h b/chrome/browser/ui/android/infobars/save_password_infobar.h
index 119926c..4ca177f 100644
--- a/chrome/browser/ui/android/infobars/save_password_infobar.h
+++ b/chrome/browser/ui/android/infobars/save_password_infobar.h
@@ -17,7 +17,7 @@
  public:
   explicit SavePasswordInfoBar(
       std::unique_ptr<SavePasswordInfoBarDelegate> delegate,
-      absl::optional<AccountInfo> account_info);
+      const AccountInfo& account_info);
 
   SavePasswordInfoBar(const SavePasswordInfoBar&) = delete;
   SavePasswordInfoBar& operator=(const SavePasswordInfoBar&) = delete;
@@ -34,7 +34,7 @@
 
   base::android::ScopedJavaGlobalRef<jobject> java_infobar_;
 
-  absl::optional<AccountInfo> account_info_;
+  AccountInfo account_info_;
 };
 
 #endif  // CHROME_BROWSER_UI_ANDROID_INFOBARS_SAVE_PASSWORD_INFOBAR_H_
diff --git a/chrome/browser/ui/android/infobars/update_password_infobar.cc b/chrome/browser/ui/android/infobars/update_password_infobar.cc
index b3d37ad..bc4154e 100644
--- a/chrome/browser/ui/android/infobars/update_password_infobar.cc
+++ b/chrome/browser/ui/android/infobars/update_password_infobar.cc
@@ -20,10 +20,9 @@
 
 UpdatePasswordInfoBar::UpdatePasswordInfoBar(
     std::unique_ptr<UpdatePasswordInfoBarDelegate> delegate,
-    absl::optional<AccountInfo> account_info)
-    : infobars::ConfirmInfoBar(std::move(delegate)) {
-  account_info_ = account_info;
-}
+    const AccountInfo& account_info)
+    : infobars::ConfirmInfoBar(std::move(delegate)),
+      account_info_(account_info) {}
 
 UpdatePasswordInfoBar::~UpdatePasswordInfoBar() {}
 
@@ -47,9 +46,8 @@
   ScopedJavaLocalRef<jstring> details_message_text = ConvertUTF16ToJavaString(
       env, update_password_delegate->GetDetailsMessageText());
   ScopedJavaLocalRef<jobject> account_info =
-      account_info_.has_value()
-          ? ConvertToJavaAccountInfo(env, account_info_.value())
-          : nullptr;
+      !account_info_.IsEmpty() ? ConvertToJavaAccountInfo(env, account_info_)
+                               : nullptr;
   std::vector<std::u16string> usernames;
   unsigned int selected_username =
       update_password_delegate->GetDisplayUsernames(&usernames);
diff --git a/chrome/browser/ui/android/infobars/update_password_infobar.h b/chrome/browser/ui/android/infobars/update_password_infobar.h
index 3cc380d..967d65d5 100644
--- a/chrome/browser/ui/android/infobars/update_password_infobar.h
+++ b/chrome/browser/ui/android/infobars/update_password_infobar.h
@@ -15,7 +15,7 @@
 class UpdatePasswordInfoBar : public infobars::ConfirmInfoBar {
  public:
   UpdatePasswordInfoBar(std::unique_ptr<UpdatePasswordInfoBarDelegate> delegate,
-                        absl::optional<AccountInfo> account_info);
+                        const AccountInfo& account_info);
 
   UpdatePasswordInfoBar(const UpdatePasswordInfoBar&) = delete;
   UpdatePasswordInfoBar& operator=(const UpdatePasswordInfoBar&) = delete;
@@ -34,7 +34,7 @@
 
   base::android::ScopedJavaGlobalRef<jobject> java_infobar_;
 
-  absl::optional<AccountInfo> account_info_;
+  AccountInfo account_info_;
 };
 
 #endif  // CHROME_BROWSER_UI_ANDROID_INFOBARS_UPDATE_PASSWORD_INFOBAR_H_
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
index 02f4c0f..1f6e212 100644
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -983,7 +983,7 @@
         A list of interests will appear here as you browse the web
       </message>
       <message name="IDS_PRIVACY_SANDBOX_REMOVED_TOPICS_EMPTY_STATE" desc="Summary shown when no interests for ad personlization were removed from the Topics API of the Privacy Sandbox.">
-        Interest you removed will appear here
+        Interests you removed will appear here
       </message>
       <message name="IDS_PRIVACY_SANDBOX_FLEDGE_INTERESTS_CATEGORY" desc="FLEDGE API. A sub title that describes the second of 2 ways a site can get info from Chrome in order to target ads to the user.">
         Sites you visit that define your interests
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings_grd/IDS_PRIVACY_SANDBOX_REMOVED_TOPICS_EMPTY_STATE.png.sha1 b/chrome/browser/ui/android/strings/android_chrome_strings_grd/IDS_PRIVACY_SANDBOX_REMOVED_TOPICS_EMPTY_STATE.png.sha1
index 5a8b1f9..00aed912 100644
--- a/chrome/browser/ui/android/strings/android_chrome_strings_grd/IDS_PRIVACY_SANDBOX_REMOVED_TOPICS_EMPTY_STATE.png.sha1
+++ b/chrome/browser/ui/android/strings/android_chrome_strings_grd/IDS_PRIVACY_SANDBOX_REMOVED_TOPICS_EMPTY_STATE.png.sha1
@@ -1 +1 @@
-f33e26ab2dd6a9ccf1cd2b84adc6594a677cdce5
\ No newline at end of file
+7883474d4ac76ca899a79480119a8f8ba4a3cb8b
\ No newline at end of file
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_da.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_da.xtb
index 571094da..e0a994a 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_da.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_da.xtb
@@ -10,6 +10,7 @@
 <translation id="1045899828449635435">Vil du rydde data fra disse websites?</translation>
 <translation id="1049743911850919806">Inkognito</translation>
 <translation id="10614374240317010">Gemmes aldrig</translation>
+<translation id="1062628064301375934">Hjælp os med at skabe et mere privat internet</translation>
 <translation id="107147699690128016">Hvis du ændrer filtypen, åbnes filen muligvis i en anden app og kan være skadelig for din enhed.</translation>
 <translation id="1089606299949659462">Gennemgangen er fuldført</translation>
 <translation id="1095761715416917775">Sørg for, at du altid kan få adgang til dine synkroniserede data</translation>
@@ -106,7 +107,13 @@
 <translation id="1554532453982918912">Vær med til at gøre Chrome bedre for andre, der bruger Chrome på samme måde som dig</translation>
 <translation id="1558391695376153246">Luk inkognitofaner</translation>
 <translation id="1571304935088121812">Kopiér brugernavnet</translation>
+<translation id="1573632872794824374">Lad os afprøve nye funktioner, der giver websites mulighed for at levere den samme browseroplevelse som før, men uden at bruge så mange af dine oplysninger</translation>
 <translation id="1592864538817356322">Standardbeskyttelse:</translation>
+<translation id="161647866166517041">Reducering af spam og svindel kræver trust tokens, som hjælper websites med at bekæmpe svindel og skelne mellem bots og mennesker.
+
+Ud fra din interaktion med et website, f.eks. regelmæssige logins på en konto, kan det pågældende website tildele din browser en trust token. Derefter vil der være større sandsynlighed for, at websites, du besøger, og som søger efter og finder en gyldig trust token, vil anse dig for at være et menneske og ikke en bot.
+
+Trust-tokens forbedrer beskyttelsen af personlige oplysninger på nettet og kan ikke bruges til at identificere dig.</translation>
 <translation id="1628019612362412531">{NUM_SELECTED,plural, =1{Fjern 1 valgt element}one{Fjern # valgt element}other{Fjern # valgte elementer}}</translation>
 <translation id="1633659023549081553">Find nyt indhold via Chromes startside</translation>
 <translation id="1641113438599504367">Beskyttet browsing</translation>
@@ -167,6 +174,7 @@
 <translation id="200114059308480249">Vil du medtage omgivende tekst i Google-søgninger?</translation>
 <translation id="2013642289801508067">{FILE_COUNT,plural, =1{# fil}one{# fil}other{# filer}}</translation>
 <translation id="2015836039326522978"><ph name="APP_NAME" /> åbnes i Chrome. Når du fortsætter, accepterer du <ph name="BEGIN_LINK1" />Googles servicevilkår<ph name="END_LINK1" /> og de <ph name="BEGIN_LINK2" />yderligere servicevilkår for Google Chrome og Chrome OS<ph name="END_LINK2" />. <ph name="BEGIN_LINK3" />Privatlivspolitikken<ph name="END_LINK3" /> vil også gælde.</translation>
+<translation id="2019145049163614359">Vil du fjerne interessen?</translation>
 <translation id="2020309681647789787">Din historik er på alle synkroniserede enheder, så du kan fortsætte med det, du var i gang med</translation>
 <translation id="2021896219286479412">Kontrolelementer på website i fuld skærm</translation>
 <translation id="2038563949887743358">Slå computerversionen af websitet til</translation>
@@ -203,6 +211,7 @@
 <translation id="2175927920773552910">QR-kode</translation>
 <translation id="2176767904800337188">Et virtuelt kort skjuler dit faktiske kort og beskytter dig på den måde mod potentiel svindel. <ph name="BEGIN_LINK1" />Få flere oplysninger om virtuelle kort<ph name="END_LINK1" /></translation>
 <translation id="218608176142494674">Deling</translation>
+<translation id="2189903024544168260">Interessen er fjernet</translation>
 <translation id="2194856509914051091">Vigtige oplysninger</translation>
 <translation id="2200113223741723867">Administrer deling af brugsdata</translation>
 <translation id="2218567645332692482">Opgrader navigation til HTTPS, og få en advarsel, før websites, der ikke understøtter dette, indlæses</translation>
@@ -266,6 +275,7 @@
 <translation id="2536728043171574184">Du ser en offlinekopi af denne side</translation>
 <translation id="2546283357679194313">Cookies og websitedata</translation>
 <translation id="2549516196460093976">Du kan bruge denne tablet til at logge ind på den computer, der viser QR-koden.</translation>
+<translation id="2558569818338050235">Din browserhistorik påvirker, hvilke annoncer du ser</translation>
 <translation id="2561519700418191927">Forhåndsvisning af videoer</translation>
 <translation id="2567385386134582609">BILLEDE</translation>
 <translation id="2567545343356994513">Hurtigere proaktiv beskyttelse mod skadelige websites, downloads og udvidelser</translation>
@@ -277,6 +287,7 @@
 <translation id="2604446170045642109">Du kan deaktivere mørkt tema for websites i dine indstillinger.</translation>
 <translation id="2612676031748830579">Kortnummer</translation>
 <translation id="2625189173221582860">Adgangskoden er kopieret</translation>
+<translation id="2642087927315268160">Loginfeltet i bunden er lukket.</translation>
 <translation id="2645657967708199252">Din <ph name="CONNECTION_TYPE" />-forbindelse kan gøre downloadprocessen langsommere</translation>
 <translation id="2647434099613338025">Tilføj sprog</translation>
 <translation id="2649068648233607930">Din browser administreres af <ph name="DOMAIN" /></translation>
@@ -289,11 +300,13 @@
 <translation id="2704606927547763573">Kopieret</translation>
 <translation id="2707726405694321444">Opdater siden</translation>
 <translation id="271033894570825754">Nyt</translation>
+<translation id="2711073837061989559">Prøveperioder</translation>
 <translation id="2718352093833049315">Kun på Wi-Fi</translation>
 <translation id="2718846868787000099">For at vise indhold på dine foretrukne sprog kan de websites, du besøger, se dine præferencer</translation>
 <translation id="2723001399770238859">lyd</translation>
 <translation id="2732063072010454421">Få en bedre brugeroplevelse med stemmesøgning</translation>
 <translation id="2739256783402597439">2G</translation>
+<translation id="2746842245914314523">Du kan få flere oplysninger om disse funktioner i Chrome-indstillingerne. Under prøveperioder er din interaktion med websites muligvis ikke mere privat, end den ville være uden disse nye funktioner.</translation>
 <translation id="2760989362628427051">Aktivér mørkt tema, når enhedens mørke tema eller batterisparefunktion er aktiveret</translation>
 <translation id="2762000892062317888">lige nu</translation>
 <translation id="276969039800130567">Logget ind som <ph name="USER_EMAIL_ADDRESS" />.</translation>
@@ -362,6 +375,7 @@
 <translation id="3037177537145227281">Der holdes øje med prisen</translation>
 <translation id="3037517125981011456">Viser anmodninger om at logge ind i Chrome</translation>
 <translation id="3046945242843292318">Nå hurtigere frem til dette website næste gang</translation>
+<translation id="3055113921564083271">Interesser, du har fjernet</translation>
 <translation id="3055259925215945098">Bogmærket blev flyttet</translation>
 <translation id="3055841435094910999">Der sendes oplysninger om din brug af Chrome til Google, men oplysningerne kan ikke knyttes til dig\n\nHvis Chrome går ned, omfatter dataene om nedbruddet muligvis nogle personlige oplysninger\n\nHvis du aktiverer synkronisering, omfatter metrics muligvis også oplysninger om, de webadresser, du navigerer til</translation>
 <translation id="3060635849835183725">{BOOKMARKS_COUNT,plural, =1{<ph name="BOOKMARKS_COUNT_ONE" /> bogmærke}one{<ph name="BOOKMARKS_COUNT_MANY" /> bogmærke}other{<ph name="BOOKMARKS_COUNT_MANY" /> bogmærker}}</translation>
@@ -378,6 +392,7 @@
 <translation id="3166827708714933426">Genveje på faner og i vinduer</translation>
 <translation id="316694332262407393">Chrome kører allerede her.</translation>
 <translation id="3169472444629675720">Discover</translation>
+<translation id="3187472288455401631">Ad measurement</translation>
 <translation id="3207960819495026254">Gemt som bogmærke</translation>
 <translation id="3208584281581115441">Tjek nu</translation>
 <translation id="3211426585530211793"><ph name="ITEM_TITLE" /> blev slettet</translation>
@@ -408,6 +423,7 @@
 <translation id="3290991969712132877">Føj denne side til din startskærm ved hjælp af knappen Flere valgmuligheder for hurtigt at vende tilbage hertil</translation>
 <translation id="3297344142967351106">Stemmesøgning</translation>
 <translation id="3303414029551471755">Vil du fortsætte og downloade indholdet?</translation>
+<translation id="3321367458490630980">Interessen er tilføjet</translation>
 <translation id="3334729583274622784">Vil du ændre filtypen?</translation>
 <translation id="3341262203274374114">"Følg ikke" kan ikke udføres. Der opstod en fejl.</translation>
 <translation id="3359667936385849800">Brug din nuværende tjenesteudbyder</translation>
@@ -429,8 +445,10 @@
 <translation id="3444179773590444986">Vil du dele feedback om Mørkt tema på websites?</translation>
 <translation id="3469665409713263828">{FILE_COUNT,plural, =1{1 planlagt download.}one{# planlagt download.}other{# planlagte downloads.}}</translation>
 <translation id="3474624961160222204">Fortsæt som <ph name="NAME" /></translation>
+<translation id="3475207952017699209">Om tilpassede annoncer</translation>
 <translation id="3478363558367712427">Du kan vælge din søgemaskine</translation>
 <translation id="3493531032208478708"><ph name="BEGIN_LINK" />Få flere oplysninger<ph name="END_LINK" /> om anbefalet indhold</translation>
+<translation id="3495219333887281978">Loginfeltet i bunden er åbnet i halv højde.</translation>
 <translation id="3499246418971111862">chrome_qrcode_<ph name="CURRENT_TIMESTAMP_MS" /></translation>
 <translation id="3502647154914451322">Når du bruger Chrome, accepterer du <ph name="BEGIN_TOS_LINK" />Googles servicevilkår<ph name="END_TOS_LINK" /> og de <ph name="BEGIN_ATOS_LINK" />yderligere servicevilkår for Google Chrome og Chrome OS<ph name="END_ATOS_LINK" />.</translation>
 <translation id="3507132249039706973">Standardbeskyttelse er aktiveret</translation>
@@ -449,6 +467,7 @@
 <translation id="3568688522516854065">Log ind, og aktivér synkronisering for at få adgang til dine faner på dine andre enheder</translation>
 <translation id="357465026686164600">Telefon som sikkerhedsnøgle</translation>
 <translation id="3577473026931028326">Der opstod en fejl. Prøv igen.</translation>
+<translation id="3578874072190212775">Hjælp websites med at bekæmpe svindel og skelne mellem bots og mennesker</translation>
 <translation id="3587482841069643663">Alle</translation>
 <translation id="3587596251841506391">Gør sikkerheden på nettet bedre</translation>
 <translation id="3602290021589620013">Forhåndsvisning</translation>
@@ -490,6 +509,7 @@
 <translation id="3856096718352044181">Bekræft, at dette er en gyldig udbyder, eller prøv igen senere</translation>
 <translation id="3858860766373142691">Navn</translation>
 <translation id="3861633093716975811">Populære videoer</translation>
+<translation id="3862592757180800623">Du kan til enhver tid ombestemme dig og fravælge dette i Chrome-indstillingerne. Under prøveperioder er din interaktion med websites muligvis ikke mere privat, end den ville være uden disse nye funktioner.</translation>
 <translation id="3892148308691398805">Kopiér tekst</translation>
 <translation id="3894427358181296146">Tilføj mappe</translation>
 <translation id="3899682235662194879">Luk alle inkognitofaner</translation>
@@ -498,6 +518,7 @@
 <translation id="3924911262913579434"><ph name="SAFE_BROWSING_MODE" /> er aktiveret</translation>
 <translation id="3927692899758076493">Sans serif</translation>
 <translation id="3928666092801078803">Kombiner mine data</translation>
+<translation id="3932390316856284148">Loginfeltet i bunden er åbnet i fuld højde.</translation>
 <translation id="3934366560681368531">"</translation>
 <translation id="393697183122708255">Aktiveret talesøgning ikke tilgængelig</translation>
 <translation id="395377504920307820">Brug uden en konto</translation>
@@ -509,6 +530,7 @@
 <translation id="3969863827134279083">Flyt op</translation>
 <translation id="397583555483684758">Synkroniseringen fungerer ikke mere</translation>
 <translation id="3976396876660209797">Fjern og genskab denne genvej</translation>
+<translation id="3981902534690264083">Annoncører kan få indblik i, hvordan annoncer klarer sig</translation>
 <translation id="3985215325736559418">Vil du downloade <ph name="FILE_NAME" /> igen?</translation>
 <translation id="3987993985790029246">Kopiér linket</translation>
 <translation id="4000212216660919741">Hjemmet er offline</translation>
@@ -526,6 +548,7 @@
 <translation id="4096227151372679484">Flow til lagring af bogmærker er åbnet i halv højde</translation>
 <translation id="4099578267706723511">Vær med til at gøre Chrome bedre ved at sende brugsstatistik og nedbrudsrapporter til Google.</translation>
 <translation id="410351446219883937">Autoplay</translation>
+<translation id="4106587138345390261">Chrome afprøver nye funktioner, der giver websites mulighed for at levere den samme browseroplevelse uden at bruge så mange af dine oplysninger</translation>
 <translation id="4108314971463891922">Følg</translation>
 <translation id="4108998448622696017">Registrerer og advarer dig om skadelige hændelser, når de opstår.</translation>
 <translation id="4116038641877404294">Download sider for at bruge dem, når du er offline</translation>
@@ -546,6 +569,7 @@
 <translation id="4248098802131000011">Beskyt dine adgangskoder mod brud på datasikkerheden og andre sikkerhedsproblemer</translation>
 <translation id="4250229828105606438">Screenshot</translation>
 <translation id="4256782883801055595">Open source-licenser</translation>
+<translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Disse data bruges:<ph name="END_BOLD" /> Din browserhistorik, dvs. en oversigt over, hvilke websites du har besøgt i Chrome på denne enhed.</translation>
 <translation id="4263656433980196874">Brugerfladen for samtykke i forbindelse med stemmesøgning i Assistent er åbnet i fuld højde</translation>
 <translation id="4269820728363426813">Kopiér linkadresse</translation>
 <translation id="4290281343757112331">Vil du downloade senere i stedet?</translation>
@@ -556,6 +580,7 @@
 <translation id="4307992518367153382">Grundlæggende valgmuligheder</translation>
 <translation id="4320177379694898372">Ingen internetforbindelse</translation>
 <translation id="4321739720395210191">Dit kamera kan ikke åbnes. Genstart din enhed, og prøv igen.</translation>
+<translation id="4324158606177867698">De interesser, du har fjernet, vises her</translation>
 <translation id="433213510553688132">Følger...</translation>
 <translation id="4335835283689002019">Beskyttet browsing er slået fra</translation>
 <translation id="4351244548802238354">Luk dialogboksen</translation>
@@ -643,6 +668,7 @@
 <translation id="4807098396393229769">Navn på kort</translation>
 <translation id="481574578487123132">Tilknyttede enheder</translation>
 <translation id="4818017973810341238">Digital Asset Links kunne ikke bekræftes på <ph name="VIOLATED_URL" /></translation>
+<translation id="4826163340425232009">Loginfeltet i bunden.</translation>
 <translation id="4831037795716408498">Download indhold</translation>
 <translation id="4834007576107377210">Se din søgemaskines vejledning i, hvordan du sletter din søgehistorik, hvis det er relevant</translation>
 <translation id="4834250788637067901">Betalingsmetoder, tilbud og adresser, der bruger Google Pay</translation>
@@ -697,6 +723,7 @@
 <translation id="5091199029769593641">Du får snart vist historier fra <ph name="SITE_NAME" />, når du åbner en ny fane. De websites, du følger, gemmes på din Google-konto. Du kan administrere dem i indstillingerne for Discover.</translation>
 <translation id="5091249083535528968">Udvidede brugsdata</translation>
 <translation id="509429900233858213">Der opstod en fejl.</translation>
+<translation id="5098190077610408701">Vil du tilføje en interesse?</translation>
 <translation id="5102401324271069229">Hvis et website forsøger at stjæle din adgangskode, eller hvis du downloader en skadelig fil, sender Chrome muligvis også webadresser, bl.a. mindre mængder sideindhold, til Beskyttet browsing</translation>
 <translation id="510275257476243843">1 time tilbage</translation>
 <translation id="5115811374190515607">til <ph name="PRODUCT_NAME" /></translation>
@@ -776,6 +803,7 @@
 <translation id="5578795271662203820">Søg efter billedet på <ph name="SEARCH_ENGINE" /></translation>
 <translation id="5581519193887989363">Du kan altid vælge, hvad der skal synkroniseres, i <ph name="BEGIN_LINK1" />indstillingerne<ph name="END_LINK1" />.</translation>
 <translation id="5590372121997663538">Husk denne computer</translation>
+<translation id="559871659088672663">Denne funktion er i øjeblikket under udvikling</translation>
 <translation id="5599455543593328020">Inkognitotilstand</translation>
 <translation id="5599941490345670218">Google Assistent kan udføre handlinger på websites for dig</translation>
 <translation id="5620163320393916465">Der er ingen gemte adgangskoder</translation>
@@ -870,6 +898,7 @@
 <translation id="6069177176307973611">Gennemgå privatlivs- og sikkerhedsindstillinger</translation>
 <translation id="6070730414166672373">Kontakter din bank\u2026</translation>
 <translation id="6085886413119427067">Bestemmer, hvordan der skal oprettes forbindelse til websites via en sikker forbindelse</translation>
+<translation id="6091413777268123602">Takket være Privacy Sandbox-prøveperioder kan websites levere den samme browseroplevelse uden at bruge så mange af dine data. Det vil sige, at dine personlige oplysninger beskyttes bedre, og at du spores mindre på tværs af websites. Vi tilføjer nye prøveperioder, når de er klar til at blive testet.</translation>
 <translation id="60923314841986378"><ph name="HOURS" /> timer tilbage</translation>
 <translation id="6095578583683628124">Hvis Google også er din standardsøgemaskine, får du bedre og mere relevante forslag</translation>
 <translation id="6108923351542677676">Konfigurationen er i gang...</translation>
@@ -996,11 +1025,13 @@
 <translation id="671481426037969117">Din timer for <ph name="FQDN" /> udløb. Den starter igen i morgen.</translation>
 <translation id="6715020873764921614">Vil du downloade <ph name="FILE_NAME" /> (<ph name="FILE_SIZE" />) alligevel?</translation>
 <translation id="6719634564325948108">Vil du oprette forbindelse med en QR-kode?</translation>
+<translation id="6737612727720318154">Tillad en interesse eller et website, hvis du mener, at annoncer, der er relateret til interessen, ville være nyttige for dig</translation>
 <translation id="6738516213925468394">Dine data blev krypteret med din <ph name="BEGIN_LINK" />adgangssætning til synkronisering<ph name="END_LINK" /> <ph name="TIME" />. Indtast adgangssætningen for at starte synkroniseringen.</translation>
 <translation id="6738867403308150051">Downloader…</translation>
 <translation id="6751521182688001123">Åbn hurtigt en ny fane. Hold fingeren nede for at redigere denne genvej.</translation>
 <translation id="6756507620369789050">Del feedback</translation>
 <translation id="6767294960381293877">Åben liste i halv højde over enheder, der skal deles en fane med.</translation>
+<translation id="6770042910635026163">De websites, du besøger, som definerer dine interesser</translation>
 <translation id="6770602306803890733">Forbedrer din og alle andres sikkerhed på nettet</translation>
 <translation id="6783942555455976443">Gem denne side til senere, og få en påmindelse</translation>
 <translation id="6795633245022906657">Åbn hurtigt en ny fane. Gå til Indstillinger for at redigere denne genvej.</translation>
@@ -1061,6 +1092,7 @@
 <translation id="7093803425429738190">Tilføj humørikon</translation>
 <translation id="7105047059074518658">Log ind for nemmere at søge på flere enheder</translation>
 <translation id="7106762743910369165">Din browser administreres af din organisation</translation>
+<translation id="7130504491556983216">En liste over interesser vises her, når du surfer på nettet</translation>
 <translation id="7138678301420049075">Andet</translation>
 <translation id="7143462160780459030">Det var ikke muligt at tage et screenshot. Prøv igen.</translation>
 <translation id="7146622961999026732">Disse websites og apps lader til at være vigtige for dig:</translation>
@@ -1095,6 +1127,7 @@
 <translation id="7339898014177206373">Nyt vindue</translation>
 <translation id="7340958967809483333">Indstillinger for Discover</translation>
 <translation id="7352339641508007922">Træk for at tage et langt screenshot</translation>
+<translation id="7352531447904559593">Få flere oplysninger om Browserbaseret annoncetilpasning</translation>
 <translation id="7352651011704765696">Noget gik galt</translation>
 <translation id="7352939065658542140">VIDEO</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Del 1 valgt element}one{Del # valgt element}other{Del # valgte elementer}}</translation>
@@ -1150,6 +1183,7 @@
 <translation id="7619072057915878432">Download af <ph name="FILE_NAME" /> mislykkedes på grund af netværksfejl.</translation>
 <translation id="7626032353295482388">Velkommen til Chrome</translation>
 <translation id="7630202231528827509">Udbyderens webadresse</translation>
+<translation id="7634280112532283638">Reducering af spam og svindel</translation>
 <translation id="7638584964844754484">Forkert adgangssætning</translation>
 <translation id="7641339528570811325">Ryd browserdata…</translation>
 <translation id="7646772052135772216">Synkronisering af adgangskoder fungerer ikke</translation>
@@ -1209,6 +1243,7 @@
 <translation id="7942131818088350342"><ph name="PRODUCT_NAME" /> er forældet.</translation>
 <translation id="7944772052836377867">Synkronisering skal bekræfte din identitet</translation>
 <translation id="7947953824732555851">Acceptér og log ind</translation>
+<translation id="7959157064403954786">Prøv mere gennemskuelige annoncer</translation>
 <translation id="7961015016161918242">Aldrig</translation>
 <translation id="7961926449547174351">Du har deaktiveret adgangen til lagerplads. Gå til Indstillinger for at aktivere den.</translation>
 <translation id="7963646190083259054">Leverandør:</translation>
@@ -1288,6 +1323,7 @@
 <translation id="835847953965672673"><ph name="NUMBER_OF_DOWNLOADS" /> downloads blev gendannet</translation>
 <translation id="8364299278605033898">Se populære websites</translation>
 <translation id="8368001212524806591">Overvåg pris</translation>
+<translation id="8383226135083126309"><ph name="BEGIN_BOLD" />Sådan bruger vi disse data:<ph name="END_BOLD" /> Chrome kan estimere dine interesser. Senere kan et website, du besøger, anmode Chrome om at se dine interesser med henblik på at tilpasse de annoncer, du ser.</translation>
 <translation id="8387617938027387193">Bekræft din identitet</translation>
 <translation id="8393700583063109961">Send en besked</translation>
 <translation id="8394720698884623075">Webadresser tjekkes i forhold til en liste over usikre websites, der er gemt i Chrome</translation>
@@ -1325,6 +1361,7 @@
 <translation id="8505766168025405649">Se notifikation for downloadstatus</translation>
 <translation id="8514477925623180633">Eksportér adgangskoder, der er gemt med Chrome</translation>
 <translation id="8516012719330875537">Billedredigering</translation>
+<translation id="8516431725144212809">Dine interesser, som de er estimeret af Chrome</translation>
 <translation id="8523928698583292556">Slet den gemte adgangskode</translation>
 <translation id="8540136935098276800">Angiv en webadresse i korrekt format</translation>
 <translation id="854522910157234410">Åbn denne side</translation>
@@ -1356,6 +1393,7 @@
 <translation id="8659579665266920523">Sådan søger du i Chrome</translation>
 <translation id="8662811608048051533">Logger dig ud af de fleste websites.</translation>
 <translation id="8664979001105139458">Filnavnet findes allerede</translation>
+<translation id="8667760277771450375">Vi undersøger mulighederne for at begrænse sporing på tværs af websites og samtidig give websites mulighed for at forhindre annoncespam og -svindel.</translation>
 <translation id="8676789164135894283">Loginbekræftelser</translation>
 <translation id="867767487203716855">Næste opdatering</translation>
 <translation id="8683039184091909753">billede</translation>
@@ -1464,6 +1502,7 @@
 <translation id="962979164594783469">Installer denne app</translation>
 <translation id="96681097142096641">Vil du se en forenklet side?</translation>
 <translation id="968900484120156207">De sider, du besøger, vises her</translation>
+<translation id="969573236494556070">Begræns deling mellem websites</translation>
 <translation id="970715775301869095"><ph name="MINUTES" /> minutter tilbage</translation>
 <translation id="981121421437150478">Offline</translation>
 <translation id="983192555821071799">Luk alle faner</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_pa.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_pa.xtb
index 4810504..c154c1cf 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_pa.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_pa.xtb
@@ -10,6 +10,7 @@
 <translation id="1045899828449635435">ਇਹਨਾਂ ਸਾਈਟਾਂ ਤੋਂ ਵੀ ਡਾਟਾ ਕਲੀਅਰ ਕਰਨਾ ਹੈ?</translation>
 <translation id="1049743911850919806">ਗੁਮਨਾਮ</translation>
 <translation id="10614374240317010">ਕਦੇ ਵੀ ਸੁਰੱਖਿਅਤ ਨਹੀਂ ਕੀਤਾ</translation>
+<translation id="1062628064301375934">ਜ਼ਿਆਦਾ ਨਿੱਜੀ ਵੈੱਬ ਬਣਾਉਣ ਵਿੱਚ ਸਾਡੀ ਮਦਦ ਕਰੋ</translation>
 <translation id="107147699690128016">ਜੇ ਤੁਸੀਂ ਫ਼ਾਈਲ ਐਕਸਟੈਂਸ਼ਨ ਬਦਲਦੇ ਹੋ, ਤਾਂ ਫ਼ਾਈਲ ਸ਼ਾਇਦ ਕਿਸੇ ਵੱਖਰੀ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ ਖੁੱਲ੍ਹੇ ਅਤੇ ਸੰਭਾਵੀ ਤੌਰ 'ਤੇ ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਦਾ ਨੁਕਸਾਨ ਹੋ ਸਕਦਾ ਹੈ।</translation>
 <translation id="1089606299949659462">ਸਮੀਖਿਆ ਪੂਰੀ ਹੋ ਗਈ!</translation>
 <translation id="1095761715416917775">ਪੱਕਾ ਕਰੋ ਤੁਸੀਂ ਆਪਣੇ ਸਿੰਕ ਕੀਤੇ ਡਾਟੇ ਤੱਕ ਹਮੇਸ਼ਾਂ ਪਹੁੰਚ ਕਰ ਸਕੋ</translation>
@@ -106,7 +107,13 @@
 <translation id="1554532453982918912">ਉਨ੍ਹਾਂ ਲੋਕਾਂ ਲਈ Chrome ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰੋ ਜੋ ਇਸਨੂੰ ਤੁਹਾਡੇ ਤਰੀਕੇ ਨਾਲ ਵਰਤਦੇ ਹਨ</translation>
 <translation id="1558391695376153246">ਇਨਕੋਗਨਿਟੋ ਟੈਬਾਂ ਨੂੰ ਬੰਦ ਕਰੋ</translation>
 <translation id="1571304935088121812">ਵਰਤੋਂਕਾਰ ਨਾਮ ਕਾਪੀ ਕਰੋ</translation>
+<translation id="1573632872794824374">ਅਸੀਂ ਨਵੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਪੜਚੋਲ ਕਰ ਰਹੇ ਹਾਂ ਜੋ ਸਾਈਟਾਂ ਨੂੰ ਤੁਹਾਡੀ ਜਾਣਕਾਰੀ ਦੀ ਘੱਟ ਵਰਤੋਂ ਨਾਲ ਉਹੀ ਬ੍ਰਾਊਜ਼ਿੰਗ ਅਨੁਭਵ ਪ੍ਰਦਾਨ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀਆਂ ਹਨ</translation>
 <translation id="1592864538817356322">ਮਿਆਰੀ ਸੁਰੱਖਿਆ:</translation>
+<translation id="161647866166517041">'ਸਪੈਮ ਅਤੇ ਧੋਖਾਧੜੀ ਨੂੰ ਘਟਾਉਣਾ' ਸਾਈਟਾਂ ਦੀ ਧੋਖਾਧੜੀ ਨਾਲ ਲੜਨ ਅਤੇ ਬੋਟਾਂ ਨੂੰ ਲੋਕਾਂ ਤੋਂ ਵਿਲੱਖਣ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਨ ਲਈ ਟਰੱਸਟ ਟੋਕਨਾਂ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ।
+
+ਕਿਸੇ ਸਾਈਟ ਨਾਲ ਤੁਹਾਡੀ ਅੰਤਰਕਿਰਿਆ ਦੇ ਆਧਾਰ 'ਤੇ, ਜਿਵੇਂ ਕਿ ਕਿਸੇ ਖਾਤੇ ਵਿੱਚ ਨਿਯਮਿਤ ਤੌਰ 'ਤੇ ਸਾਈਨ-ਇਨ ਕਰਨਾ, ਉਹ ਸਾਈਟ ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਰ 'ਤੇ ਟਰੱਸਟ ਟੋਕਨ ਜਾਰੀ ਕਰ ਸਕਦੀ ਹੈ। ਬਾਅਦ ਵਿੱਚ, ਜੇ ਹੋਰ ਸਾਈਟਾਂ ਜਿਨ੍ਹਾਂ 'ਤੇ ਤੁਸੀਂ ਜਾਂਦੇ ਹੋ ਉਹ ਕਿਸੇ ਵੈਧ ਟਰੱਸਟ ਟੋਕਨ ਦੀ ਜਾਂਚ ਕਰ ਕੇ ਉਸਨੂੰ ਲੱਭਦੀਆਂ ਹਨ, ਤਾਂ ਉਨ੍ਹਾਂ ਵੱਲੋਂ ਤੁਹਾਡੇ ਨਾਲ ਵਿਅਕਤੀ ਦੀ ਤਰ੍ਹਾਂ ਅਤੇ ਨਾ ਕਿ ਬੋਟ ਦੀ ਤਰ੍ਹਾਂ ਪੇਸ਼ ਆਉਣ ਦੀ ਜ਼ਿਆਦਾ ਸੰਭਾਵਨਾ ਹੈ।
+
+ਟਰੱਸਟ ਟੋਕਨ ਵੈੱਬ 'ਤੇ ਪਰਦੇਦਾਰੀ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਂਦੇ ਹਨ ਅਤੇ ਉਨ੍ਹਾਂ ਦੀ ਵਰਤੋਂ ਤੁਹਾਡੇ ਬਾਰੇ ਪਤਾ ਲਗਾਉਣ ਲਈ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ।</translation>
 <translation id="1628019612362412531">{NUM_SELECTED,plural, =1{1 ਚੁਣੀ ਗਈ ਆਈਟਮ ਹਟਾਓ}one{# ਚੁਣੀਆਂ ਗਈਆਂ ਆਈਟਮਾਂ ਹਟਾਓ}other{# ਚੁਣੀਆਂ ਗਈਆਂ ਆਈਟਮਾਂ ਹਟਾਓ}}</translation>
 <translation id="1633659023549081553">Chrome ਦੇ ਹੋਮਪੇਜ 'ਤੇ ਨਵੀਂ ਸਮੱਗਰੀ ਲੱਭੋ</translation>
 <translation id="1641113438599504367">ਸੁਰੱਖਿਅਤ ਬ੍ਰਾਊਜ਼ਿੰਗ</translation>
@@ -167,6 +174,7 @@
 <translation id="200114059308480249">ਕੀ Google ਖੋਜਾਂ ਵਿੱਚ ਆਲੇ-ਦੁਆਲੇ ਦੀ ਲਿਖਤ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨਾ ਹੈ?</translation>
 <translation id="2013642289801508067">{FILE_COUNT,plural, =1{# ਫ਼ਾਈਲ}one{# ਫ਼ਾਈਲ}other{# ਫ਼ਾਈਲਾਂ}}</translation>
 <translation id="2015836039326522978"><ph name="APP_NAME" /> ਨੂੰ Chrome ਵਿੱਚ ਖੋਲ੍ਹਿਆ ਜਾਵੇਗਾ। ਜਾਰੀ ਰੱਖ ਕੇ, ਤੁਸੀਂ <ph name="BEGIN_LINK1" />Google ਦੇ ਸੇਵਾ ਦੇ ਨਿਯਮਾਂ<ph name="END_LINK1" /> ਅਤੇ <ph name="BEGIN_LINK2" />Google Chrome ਅਤੇ Chrome OS ਦੇ ਵਧੀਕ ਸੇਵਾ ਦੇ ਨਿਯਮਾਂ<ph name="END_LINK2" /> ਨਾਲ ਸਹਿਮਤ ਹੁੰਦੇ ਹੋ। <ph name="BEGIN_LINK3" />ਪਰਦੇਦਾਰੀ ਨੀਤੀ<ph name="END_LINK3" /> ਵੀ ਲਾਗੂ ਹੁੰਦੀ ਹੈ।</translation>
+<translation id="2019145049163614359">ਕੀ ਦਿਲਚਸਪੀ ਨੂੰ ਹਟਾਉਣਾ ਹੈ?</translation>
 <translation id="2020309681647789787">ਤੁਹਾਡੇ ਸਿੰਕ ਕੀਤੇ ਸਾਰੇ ਡੀਵਾਈਸਾਂ 'ਤੇ ਤੁਹਾਡਾ ਇਤਿਹਾਸ ਹੋਵੇਗਾ, ਤਾਂ ਜੋ ਤੁਸੀਂ ਜਿਹੜਾ ਕੰਮ ਕਰ ਰਹੇ ਸੀ, ਉਸਨੂੰ ਜਾਰੀ ਰੱਖ ਸਕੋ</translation>
 <translation id="2021896219286479412">ਪੂਰੀ ਸਕ੍ਰੀਨ ਦੇ ਸਾਈਟ ਕੰਟਰੋਲ</translation>
 <translation id="2038563949887743358">ਬੇਨਤੀ ਡੈਸਕਟਾਪ ਸਾਈਟ ਚਾਲੂ ਕਰੋ</translation>
@@ -203,6 +211,7 @@
 <translation id="2175927920773552910">QR ਕੋਡ</translation>
 <translation id="2176767904800337188">ਆਭਾਸੀ ਕਾਰਡ ਤੁਹਾਨੂੰ ਸੰਭਾਵੀ ਧੋਖਾਧੜੀ ਤੋਂ ਬਚਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰਨ ਲਈ ਤੁਹਾਡੇ ਅਸਲ ਕਾਰਡ ਦਾ ਭੇਸ ਲੈਂਦਾ ਹੈ। <ph name="BEGIN_LINK1" />ਆਭਾਸੀ ਕਾਰਡਾਂ ਬਾਰੇ ਹੋਰ ਜਾਣੋ<ph name="END_LINK1" /></translation>
 <translation id="218608176142494674">ਸਾਂਝਾਕਰਨ</translation>
+<translation id="2189903024544168260">ਦਿਲਚਸਪੀ ਨੂੰ ਹਟਾਇਆ ਗਿਆ</translation>
 <translation id="2194856509914051091">ਵਿਚਾਰੇ ਜਾਣ ਵਾਲੀਆਂ ਚੀਜ਼ਾਂ</translation>
 <translation id="2200113223741723867">ਵਰਤੋਂ ਡਾਟੇ ਸੰਬੰਧੀ ਸਾਂਝੇਕਰਨ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ</translation>
 <translation id="2218567645332692482">ਨੈਵੀਗੇਸ਼ਨਾਂ ਨੂੰ HTTPS 'ਤੇ ਅੱਪਗ੍ਰੇਡ ਕਰੋ ਅਤੇ ਇੰਝ ਕਰਨ ਨਾਲ ਉਨ੍ਹਾਂ ਸਾਈਟਾਂ ਦੇ ਲੋਡ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਤੁਹਾਨੂੰ ਚਿਤਾਵਨੀ ਮਿਲੇਗੀ ਜੋ ਇਸਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦੀਆਂ</translation>
@@ -266,6 +275,7 @@
 <translation id="2536728043171574184">ਇਸ ਪੰਨੇ ਦੀ ਇੱਕ ਆਫ਼ਲਾਈਨ ਕਾਪੀ ਦੇਖ ਰਿਹਾ ਹੈ</translation>
 <translation id="2546283357679194313">ਕੁਕੀਜ਼ ਅਤੇ ਸਾਈਟ ਡਾਟਾ</translation>
 <translation id="2549516196460093976">ਤੁਸੀਂ ਇਸ QR ਕੋਡ ਨੂੰ ਦਿਖਾਉਣ ਵਾਲੇ ਟੈਬਲੈੱਟ 'ਤੇ ਸਾਈਨ-ਇਨ ਕਰਨ ਲਈ ਇਸ ਫ਼ੋਨ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ।</translation>
+<translation id="2558569818338050235">ਤੁਹਾਡਾ ਬ੍ਰਾਊਜ਼ਿੰਗ ਇਤਿਹਾਸ ਤੁਹਾਨੂੰ ਦਿਸਣ ਵਾਲੇ ਵਿਗਿਆਪਨਾਂ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰਦਾ ਹੈ</translation>
 <translation id="2561519700418191927">ਵੀਡੀਓ ਦੀਆਂ ਪੂਰਵ-ਝਲਕਾਂ</translation>
 <translation id="2567385386134582609">ਇਮੇਜ</translation>
 <translation id="2567545343356994513">ਖਤਰਨਾਕ ਵੈੱਬਸਾਈਟਾਂ, ਡਾਊਨਲੋਡਾਂ ਅਤੇ ਐਕਸਟੈਂਸ਼ਨਾਂ ਤੋਂ ਜ਼ਿਆਦਾ ਤੇਜ਼ ਅਤੇ ਚੁਸਤ ਸੁਰੱਖਿਆ</translation>
@@ -277,6 +287,7 @@
 <translation id="2604446170045642109">ਤੁਸੀਂ ਆਪਣੀਆਂ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਸਾਈਟਾਂ ਲਈ ਗੂੜ੍ਹੇ ਥੀਮ ਨੂੰ ਬੰਦ ਕਰ ਸਕਦੇ ਹੋ।</translation>
 <translation id="2612676031748830579">ਕਾਰਡ ਨੰਬਰ</translation>
 <translation id="2625189173221582860">ਪਾਸਵਰਡ ਕਾਪੀ ਕੀਤਾ ਗਿਆ</translation>
+<translation id="2642087927315268160">ਸਾਈਨ-ਇਨ ਕਰਨ ਲਈ ਹੇਠਲੀ ਸ਼ੀਟ ਬੰਦ ਹੈ।</translation>
 <translation id="2645657967708199252">ਤੁਹਾਡਾ <ph name="CONNECTION_TYPE" /> ਕਨੈਕਸ਼ਨ ਤੁਹਾਡੇ ਡਾਊਨਲੋਡ ਨੂੰ ਹੌਲੀ ਕਰ ਸਕਦਾ ਹੈ</translation>
 <translation id="2647434099613338025">ਭਾਸ਼ਾ ਜੋੜੋ</translation>
 <translation id="2649068648233607930">ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਰ ਦਾ ਪ੍ਰਬੰਧਨ <ph name="DOMAIN" /> ਵੱਲੋਂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ</translation>
@@ -289,11 +300,13 @@
 <translation id="2704606927547763573">ਕਾਪੀ ਕੀਤਾ</translation>
 <translation id="2707726405694321444">ਪੰਨੇ ਰਿਫ੍ਰੈਸ਼ ਕਰੋ</translation>
 <translation id="271033894570825754">ਨਵਾਂ</translation>
+<translation id="2711073837061989559">ਪਰਖਾਂ</translation>
 <translation id="2718352093833049315">ਕੇਵਲ ਵਾਈ-ਫਾਈ 'ਤੇ</translation>
 <translation id="2718846868787000099">ਤੁਹਾਡੀਆਂ ਤਰਜੀਹੀ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚ ਸਮੱਗਰੀ ਦਿਖਾਉਣ ਲਈ, ਤੁਹਾਡੇ ਵੱਲੋਂ ਦੇਖੀਆਂ ਜਾਣ ਵਾਲੀਆਂ ਸਾਈਟਾਂ ਤੁਹਾਡੀਆਂ ਤਰਜੀਹਾਂ ਨੂੰ ਦੇਖ ਸਕਦੀਆਂ ਹਨ</translation>
 <translation id="2723001399770238859">ਆਡੀਓ</translation>
 <translation id="2732063072010454421">ਬਿਹਤਰ ਅਵਾਜ਼ੀ ਅਨੁਭਵ ਪ੍ਰਾਪਤ ਕਰੋ</translation>
 <translation id="2739256783402597439">2G</translation>
+<translation id="2746842245914314523">ਤੁਸੀਂ Chrome ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਇਨ੍ਹਾਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਬਾਰੇ ਹੋਰ ਜਾਣ ਸਕਦੇ ਹੋ। ਪਰਖਾਂ ਦੌਰਾਨ, ਸਾਈਟਾਂ ਨਾਲ ਤੁਹਾਡੀ ਅੰਤਰਕਿਰਿਆ ਉੰਨੀ ਨਿੱਜੀ ਨਹੀਂ ਹੋ ਸਕਦੀ ਜਿੰਨੀ ਇਨ੍ਹਾਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਤੋਂ ਬਿਨਾਂ ਹੁੰਦੀ ਹੈ।</translation>
 <translation id="2760989362628427051">ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਦਾ ਗੂੜ੍ਹਾ ਥੀਮ ਜਾਂ ਬੈਟਰੀ ਸੇਵਰ ਮੋਡ ਚਾਲੂ ਹੋਣ 'ਤੇ ਗੂੜ੍ਹੇ ਥੀਮ ਨੂੰ ਚਾਲੂ ਕਰੋ</translation>
 <translation id="2762000892062317888">ਹੁਣੇ ਹੀ</translation>
 <translation id="276969039800130567"><ph name="USER_EMAIL_ADDRESS" /> ਦੇ ਤੌਰ ਤੇ ਸਾਈਨ ਇਨ ਕੀਤਾ।</translation>
@@ -362,6 +375,7 @@
 <translation id="3037177537145227281">ਕੀਮਤ 'ਤੇ ਨਜ਼ਰ ਰੱਖੀ ਜਾ ਰਹੀ ਹੈ</translation>
 <translation id="3037517125981011456">Chrome ਵਿੱਚ ਸਾਈਨ-ਇਨ ਕਰਨ ਲਈ ਉਤਪ੍ਰੇਰਕਾਂ ਨੂੰ ਦਿਖਾਉਂਦਾ ਹੈ</translation>
 <translation id="3046945242843292318">ਅਗਲੀ ਵਾਰ ਇਸ ਸਾਈਟ 'ਤੇ ਵਧੇਰੇ ਤੇਜ਼ੀ ਨਾਲ ਪਹੁੰਚੋ</translation>
+<translation id="3055113921564083271">ਤੁਹਾਡੇ ਵੱਲੋਂ ਹਟਾਈਆਂ ਗਈਆਂ ਦਿਲਚਸਪੀਆਂ</translation>
 <translation id="3055259925215945098">ਬੁੱਕਮਾਰਕ ਨੂੰ ਲਿਜਾਇਆ ਗਿਆ</translation>
 <translation id="3055841435094910999">ਤੁਹਾਡੀ Chrome ਵਰਤੋਂ ਦੀ ਜਾਣਕਾਰੀ Google ਨੂੰ ਭੇਜੀ ਜਾਂਦੀ ਹੈ ਪਰ ਤੁਹਾਡੇ ਨਾਲ ਸੰਬੰਧਿਤ ਨਹੀਂ ਹੈ\n\nਜੇ Chrome ਕ੍ਰੈਸ਼ ਹੋ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਕ੍ਰੈਸ਼ ਦੇ ਵੇਰਵਿਆਂ ਵਿੱਚ ਕੁਝ ਨਿੱਜੀ ਜਾਣਕਾਰੀ ਸ਼ਾਮਲ ਹੋ ਸਕਦੀ ਹੈ\n\nਜੇ ਤੁਸੀਂ ਸਮਕਾਲੀਕਰਨ ਚਾਲੂ ਕਰਦੇ ਹੋ, ਤਾਂ ਮਾਪਕਾਂ ਵਿੱਚ ਉਨ੍ਹਾਂ URL ਬਾਰੇ ਵੀ ਜਾਣਕਾਰੀ ਸ਼ਾਮਲ ਹੋ ਸਕਦੀ ਹੈ ਜਿਨ੍ਹਾਂ 'ਤੇ ਤੁਸੀਂ ਜਾਂਦੇ ਹੋ</translation>
 <translation id="3060635849835183725">{BOOKMARKS_COUNT,plural, =1{<ph name="BOOKMARKS_COUNT_ONE" /> ਬੁੱਕਮਾਰਕ}one{<ph name="BOOKMARKS_COUNT_MANY" /> ਬੁੱਕਮਾਰਕ}other{<ph name="BOOKMARKS_COUNT_MANY" /> ਬੁੱਕਮਾਰਕ}}</translation>
@@ -378,6 +392,7 @@
 <translation id="3166827708714933426">ਟੈਬ ਅਤੇ ਵਿੰਡੋ ਸ਼ਾਰਟਕੱਟ</translation>
 <translation id="316694332262407393">Chrome ਪਹਿਲਾਂ ਹੀ ਇੱਥੇ ਚੱਲ ਰਿਹਾ ਹੈ।</translation>
 <translation id="3169472444629675720">ਖੋਜੋ</translation>
+<translation id="3187472288455401631">ਵਿਗਿਆਪਨ ਮੁਲਾਂਕਣ</translation>
 <translation id="3207960819495026254">ਬੁੱਕਮਾਰਕ ਕੀਤੇ</translation>
 <translation id="3208584281581115441">ਹੁਣ ਜਾਂਚ ਕਰੋ</translation>
 <translation id="3211426585530211793"><ph name="ITEM_TITLE" /> ਨੂੰ ਮਿਟਾਇਆ ਗਿਆ</translation>
@@ -408,6 +423,7 @@
 <translation id="3290991969712132877">ਇੱਥੇ ਤੇਜ਼ੀ ਨਾਲ ਪਹੁੰਚ ਕਰਨ ਲਈ, 'ਹੋਰ ਵਿਕਲਪ' ਬਟਨ ਤੋਂ ਇਸ ਪੰਨੇ ਨੂੰ ਆਪਣੀ ਹੋਮ ਸਕ੍ਰੀਨ ‘ਤੇ ਸ਼ਾਮਲ ਕਰੋ</translation>
 <translation id="3297344142967351106">ਅਵਾਜ਼ੀ ਸਹਾਇਕ</translation>
 <translation id="3303414029551471755">ਕੀ ਸਮੱਗਰੀ ਡਾਊਨਲੋਡ ਕਰਨਾ ਜਾਰੀ ਰੱਖਣਾ ਹੈ?</translation>
+<translation id="3321367458490630980">ਦਿਲਚਸਪੀ ਸ਼ਾਮਲ ਕੀਤੀ ਗਈ</translation>
 <translation id="3334729583274622784">ਕੀ ਫ਼ਾਈਲ ਐਕਸਟੈਂਸ਼ਨ ਨੂੰ ਬਦਲਣਾ ਹੈ?</translation>
 <translation id="3341262203274374114">ਅਨੁਸਰਣ ਕਰਨਾ ਬੰਦ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ। ਕੋਈ ਗੜਬੜ ਹੋ ਗਈ।</translation>
 <translation id="3359667936385849800">ਆਪਣਾ ਮੌਜੂਦਾ ਸੇਵਾ ਪ੍ਰਦਾਨਕ ਵਰਤੋ</translation>
@@ -429,8 +445,10 @@
 <translation id="3444179773590444986">ਕੀ ਸਾਈਟਾਂ ਲਈ ਗੂੜ੍ਹੇ ਥੀਮ ਬਾਰੇ ਵਿਚਾਰ ਸਾਂਝਾ ਕਰਨਾ ਹੈ?</translation>
 <translation id="3469665409713263828">{FILE_COUNT,plural, =1{1 ਡਾਊਨਲੋਡ ਨੂੰ ਨਿਯਤ ਕੀਤਾ ਗਿਆ}one{# ਡਾਊਨਲੋਡ ਨੂੰ ਨਿਯਤ ਕੀਤਾ ਗਿਆ}other{# ਡਾਊਨਲੋਡਾਂ ਨੂੰ ਨਿਯਤ ਕੀਤਾ ਗਿਆ}}</translation>
 <translation id="3474624961160222204"><ph name="NAME" /> ਵਜੋਂ ਜਾਰੀ ਰੱਖੋ</translation>
+<translation id="3475207952017699209">ਵਿਅਕਤੀਗਤ ਬਣਾਏ ਵਿਗਿਆਪਨਾਂ ਬਾਰੇ</translation>
 <translation id="3478363558367712427">ਤੁਸੀਂ ਆਪਣਾ ਖੋਜ ਇੰਜਣ ਚੁਣ ਸਕਦੇ ਹੋ</translation>
 <translation id="3493531032208478708">ਸੁਝਾਈ ਗਈ ਸਮੱਗਰੀ ਬਾਰੇ <ph name="BEGIN_LINK" />ਹੋਰ ਜਾਣੋ<ph name="END_LINK" /></translation>
+<translation id="3495219333887281978">ਸਾਈਨ-ਇਨ ਕਰਨ ਲਈ ਹੇਠਲੀ ਸ਼ੀਟ ਨੂੰ ਅੱਧੀ ਉਚਾਈ ਤੱਕ ਖੋਲ੍ਹਿਆ ਗਿਆ।</translation>
 <translation id="3499246418971111862">chrome_qrcode_<ph name="CURRENT_TIMESTAMP_MS" /></translation>
 <translation id="3502647154914451322">Chrome ਨੂੰ ਵਰਤ ਕੇ, ਤੁਸੀਂ <ph name="BEGIN_TOS_LINK" />Google ਦੇ ਸੇਵਾ ਦੇ ਨਿਯਮਾਂ<ph name="END_TOS_LINK" /> ਅਤੇ <ph name="BEGIN_ATOS_LINK" />Google Chrome ਅਤੇ Chrome OS ਦੇ ਵਧੀਕ ਸੇਵਾ ਦੇ ਨਿਯਮਾਂ<ph name="END_ATOS_LINK" /> ਨਾਲ ਸਹਿਮਤ ਹੁੰਦੇ ਹੋ।</translation>
 <translation id="3507132249039706973">ਮਿਆਰੀ ਸੁਰੱਖਿਆ ਚਾਲੂ ਹੈ</translation>
@@ -449,6 +467,7 @@
 <translation id="3568688522516854065">ਆਪਣੇ ਹੋਰ ਡੀਵਾਈਸਾਂ ਤੋਂ ਆਪਣੀਆਂ ਟੈਬਾਂ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ, ਸਾਈਨ-ਇਨ ਕਰਕੇ ਸਿੰਕ ਚਾਲੂ ਕਰੋ</translation>
 <translation id="357465026686164600">ਫ਼ੋਨ ਨੂੰ ਸੁਰੱਖਿਆ ਕੁੰਜੀ ਵਜੋਂ ਵਰਤਣਾ</translation>
 <translation id="3577473026931028326">ਕੋਈ ਗੜਬੜ ਹੋ ਗਈ। ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।</translation>
+<translation id="3578874072190212775">ਸਾਈਟਾਂ ਦੀ ਧੋਖਾਧੜੀ ਨਾਲ ਲੜਨ ਅਤੇ ਬੋਟਾਂ ਨੂੰ ਲੋਕਾਂ ਤੋਂ ਵਿਲੱਖਣ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰੋ</translation>
 <translation id="3587482841069643663">ਸਾਰੇ</translation>
 <translation id="3587596251841506391">ਵੈੱਬ 'ਤੇ ਸੁਰੱਖਿਆ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰੋ</translation>
 <translation id="3602290021589620013">ਪ੍ਰੀਵਿਊ</translation>
@@ -490,6 +509,7 @@
 <translation id="3856096718352044181">ਕਿਰਪਾ ਕਰਕੇ ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਇਹ ਇੱਕ ਵੈਧ ਪ੍ਰਦਾਨਕ ਹੈ ਜਾਂ ਬਾਅਦ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ</translation>
 <translation id="3858860766373142691">ਨਾਮ</translation>
 <translation id="3861633093716975811">ਪ੍ਰਸਿੱਧ ਵੀਡੀਓ</translation>
+<translation id="3862592757180800623">ਤੁਸੀਂ Chrome ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਜਾ ਕੇ ਕਿਸੇ ਵੇਲੇ ਵੀ ਆਪਣਾ ਮਨ ਬਦਲ ਸਕਦੇ ਹੋ। ਪਰਖਾਂ ਦੌਰਾਨ, ਸਾਈਟਾਂ ਨਾਲ ਤੁਹਾਡੀ ਅੰਤਰਕਿਰਿਆ ਉੰਨੀ ਨਿੱਜੀ ਨਹੀਂ ਹੋ ਸਕਦੀ ਜਿੰਨੀ ਇਨ੍ਹਾਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਤੋਂ ਬਿਨਾਂ ਹੁੰਦੀ ਹੈ।</translation>
 <translation id="3892148308691398805">ਲਿਖਤ ਕਾਪੀ ਕਰੋ</translation>
 <translation id="3894427358181296146">ਫੋਲਡਰ ਜੋੜੋ</translation>
 <translation id="3899682235662194879">ਸਾਰੀਆਂ ਇਨਕੋਗਨਿਟੋ ਟੈਬਾਂ ਬੰਦ ਕਰੋ</translation>
@@ -498,6 +518,7 @@
 <translation id="3924911262913579434"><ph name="SAFE_BROWSING_MODE" /> ਚਾਲੂ ਹੈ</translation>
 <translation id="3927692899758076493">Sans Serif</translation>
 <translation id="3928666092801078803">ਮੇਰੇ ਡਾਟੇ ਨੂੰ ਮਿਲਾਓ</translation>
+<translation id="3932390316856284148">ਸਾਈਨ-ਇਨ ਕਰਨ ਲਈ ਹੇਠਲੀ ਸ਼ੀਟ ਨੂੰ ਪੂਰੀ ਉਚਾਈ ਤੱਕ ਖੋਲ੍ਹਿਆ ਗਿਆ।</translation>
 <translation id="3934366560681368531">“</translation>
 <translation id="393697183122708255">ਕੋਈ ਸਮਰਥਿਤ ਅਵਾਜ਼ੀ ਖੋਜ ਉਪਲਬਧ ਨਹੀਂ</translation>
 <translation id="395377504920307820">ਕਿਸੇ ਖਾਤੇ ਦੇ ਬਿਨਾਂ ਵਰਤੋ</translation>
@@ -509,6 +530,7 @@
 <translation id="3969863827134279083">ਉੱਪਰ ਮੂਵ ਕਰੋ</translation>
 <translation id="397583555483684758">ਸਿੰਕ ਨੇ ਕੰਮ ਕਰਨਾ ਬੰਦ ਕਰ ਦਿੱਤਾ ਹੈ</translation>
 <translation id="3976396876660209797">ਇਸ ਸ਼ਾਰਟਕੱਟ ਨੂੰ ਹਟਾ ਕੇ ਮੁੜ-ਬਣਾਓ</translation>
+<translation id="3981902534690264083">ਵਿਗਿਆਪਨਦਾਤਾ ਸਮਝ ਸਕਦੇ ਹਨ ਕਿ ਵਿਗਿਆਪਨ ਕਿਵੇਂ ਦੀ ਕਾਰਗੁਜ਼ਾਰੀ ਕਰਦੇ ਹਨ</translation>
 <translation id="3985215325736559418">ਕੀ ਤੁਸੀਂ <ph name="FILE_NAME" /> ਨੂੰ ਦੁਬਾਰਾ ਡਾਊਨਲੋਡ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?</translation>
 <translation id="3987993985790029246">ਲਿੰਕ ਕਾਪੀ ਕਰੋ</translation>
 <translation id="4000212216660919741">ਆਫ਼ਲਾਈਨ ਹੋਮ</translation>
@@ -526,6 +548,7 @@
 <translation id="4096227151372679484">ਬੁੱਕਮਾਰਕ ਰੱਖਿਅਤ ਕਰਨ ਸੰਬੰਧੀ ਪ੍ਰਵਾਹ ਵਾਲਾ ਫੋਲਡਰ ਅੱਧੀ ਉਚਾਈ ਤੱਕ ਖੋਲ੍ਹਿਆ ਗਿਆ ਹੈ</translation>
 <translation id="4099578267706723511">Google ਨੂੰ ਵਰਤੋਂ ਅੰਕੜੇ ਅਤੇ ਕ੍ਰੈਸ਼ ਰਿਪੋਰਟਾਂ ਭੇਜ ਕੇ Chrome ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰੋ।</translation>
 <translation id="410351446219883937">ਆਟੋਪਲੇ</translation>
+<translation id="4106587138345390261">Chrome ਨਵੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਪੜਚੋਲ ਕਰ ਰਿਹਾ ਹੈ ਜੋ ਸਾਈਟਾਂ ਨੂੰ ਤੁਹਾਡੀ ਘੱਟ ਜਾਣਕਾਰੀ ਦੀ ਵਰਤੋਂ ਦੇ ਨਾਲ ਉਹੀ ਬ੍ਰਾਊਜ਼ਿੰਗ ਅਨੁਭਵ ਪ੍ਰਦਾਨ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀਆਂ ਹਨ</translation>
 <translation id="4108314971463891922">ਅਨੁਸਰਣ ਕਰੋ</translation>
 <translation id="4108998448622696017">ਖਤਰਨਾਕ ਘਟਨਾਵਾਂ ਦਾ ਪਤਾ ਲਗਾਕੇ ਉਹਨਾਂ ਦੇ ਵਾਪਰਨ ਵੇਲੇ ਤੁਹਾਨੂੰ ਚਿਤਾਵਨੀ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ।</translation>
 <translation id="4116038641877404294">ਪੰਨਿਆਂ ਨੂੰ ਆਫ਼ਲਾਈਨ ਵਰਤਣ ਲਈ ਉਹਨਾਂ ਨੂੰ ਡਾਊਨਲੋਡ ਕਰੋ</translation>
@@ -546,6 +569,7 @@
 <translation id="4248098802131000011">ਆਪਣੇ ਪਾਸਵਰਡਾਂ ਨੂੰ ਡਾਟਾ ਉਲੰਘਣਾਵਾਂ ਅਤੇ ਹੋਰ ਸੁਰੱਖਿਆ ਸੰਬੰਧੀ ਸਮੱਸਿਆਵਾਂ ਤੋਂ ਸੁਰੱਖਿਅਤ ਰੱਖੋ</translation>
 <translation id="4250229828105606438">ਸਕ੍ਰੀਨਸ਼ਾਟ</translation>
 <translation id="4256782883801055595">ਖੁੱਲ੍ਹਾ ਸਰੋਤ ਲਾਇਸੰਸ</translation>
+<translation id="4262915912852657291"><ph name="BEGIN_BOLD" />ਕਿਹੜਾ ਡਾਟਾ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ:<ph name="END_BOLD" /> ਤੁਹਾਡਾ ਬ੍ਰਾਊਜ਼ਿੰਗ ਇਤਿਹਾਸ, ਇਸ ਡੀਵਾਈਸ 'ਤੇ ਉਨ੍ਹਾਂ ਸਾਈਟਾਂ ਦਾ ਰਿਕਾਰਡ ਜਿਨ੍ਹਾਂ 'ਤੇ ਤੁਸੀਂ Chrome ਦੀ ਵਰਤੋਂ ਨਾਲ ਗਏ ਹੋ।</translation>
 <translation id="4263656433980196874">Assistant ਦੀ ਅਵਾਜ਼ੀ ਖੋਜ ਲਈ ਸਹਿਮਤੀ ਵਾਲਾ UI ਪੂਰੀ ਸਕ੍ਰੀਨ ਵਿੱਚ ਖੁੱਲ੍ਹਾ ਹੈ</translation>
 <translation id="4269820728363426813">ਲਿੰਕ ਪਤਾ ਕਾਪੀ ਕਰੋ</translation>
 <translation id="4290281343757112331">ਕੀ ਹੁਣ ਦੀ ਬਜਾਏ ਬਾਅਦ ਵਿੱਚ ਡਾਊਨਲੋਡ ਕਰਨਾ ਹੈ?</translation>
@@ -556,6 +580,7 @@
 <translation id="4307992518367153382">ਮੂਲ</translation>
 <translation id="4320177379694898372">ਕੋਈ ਇੰਟਰਨੈਟ ਕਨੈਕਸ਼ਨ ਨਹੀਂ</translation>
 <translation id="4321739720395210191">ਤੁਹਾਡੇ ਕੈਮਰੇ ਨੂੰ ਖੋਲ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ। ਆਪਣੇ ਡੀਵਾਈਸ ਨੂੰ ਮੁੜ-ਸ਼ੁਰੂ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।</translation>
+<translation id="4324158606177867698">ਤੁਹਾਡੇ ਵੱਲੋਂ ਹਟਾਈਆਂ ਗਈਆਂ ਦਿਲਚਸਪੀਆਂ ਇੱਥੇ ਦਿਸਣਗੀਆਂ</translation>
 <translation id="433213510553688132">ਅਨੁਸਰਣ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ...</translation>
 <translation id="4335835283689002019">ਸੁਰੱਖਿਅਤ ਬ੍ਰਾਊਜ਼ਿੰਗ ਬੰਦ ਹੈ</translation>
 <translation id="4351244548802238354">ਡਾਇਲੌਗ ਬੰਦ ਕਰੋ</translation>
@@ -643,6 +668,7 @@
 <translation id="4807098396393229769">ਕਾਰਡ ਤੇ ਨਾਮ</translation>
 <translation id="481574578487123132">ਲਿੰਕ ਕੀਤੇ ਡੀਵਾਈਸ</translation>
 <translation id="4818017973810341238"><ph name="VIOLATED_URL" /> 'ਤੇ ਡਿਜੀਟਲ ਸੰਪਤੀ ਵਾਲੇ ਲਿੰਕਾਂ ਦੀ ਪੁਸ਼ਟੀ ਅਸਫਲ ਹੋਈ</translation>
+<translation id="4826163340425232009">ਸਾਈਨ-ਇਨ ਕਰਨ ਲਈ ਹੇਠਲੀ ਸ਼ੀਟ।</translation>
 <translation id="4831037795716408498">ਸਮੱਗਰੀ ਡਾਊਨਲੋਡ ਕਰੋ</translation>
 <translation id="4834007576107377210">ਲਾਗੂ ਹੋਣ 'ਤੇ, ਆਪਣਾ ਖੋਜ ਇਤਿਹਾਸ ਮਿਟਾਉਣ ਲਈ ਆਪਣੇ ਖੋਜ ਇੰਜਣ ਦੀਆਂ ਹਿਦਾਇਤਾਂ ਦੇਖੋ</translation>
 <translation id="4834250788637067901">Google Pay ਦੀ ਵਰਤੋਂ ਕਰਨ ਵਾਲੀਆਂ ਭੁਗਤਾਨ ਵਿਧੀਆਂ, ਪੇਸ਼ਕਸ਼ਾਂ ਅਤੇ ਪਤੇ</translation>
@@ -697,6 +723,7 @@
 <translation id="5091199029769593641">ਜਲਦ ਹੀ, ਤੁਹਾਨੂੰ ਨਵੀਂ ਟੈਬ ਖੋਲ੍ਹਣ 'ਤੇ <ph name="SITE_NAME" /> ਦੀਆਂ ਕਹਾਣੀਆਂ ਦਿਖਾਈ ਦੇਣਗੀਆਂ। ਤੁਹਾਡੇ ਵੱਲੋਂ ਅਨੁਸਰਣ ਕੀਤੀਆਂ ਸਾਈਟਾਂ ਤੁਹਾਡੇ Google ਖਾਤੇ ਵਿੱਚ ਰੱਖਿਅਤ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ। ਤੁਸੀਂ ਉਨ੍ਹਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਡਿਸਕਵਰ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਜਾ ਕੇ ਕਰ ਸਕਦੇ ਹੋ।</translation>
 <translation id="5091249083535528968">ਵਿਸਤ੍ਰਿਤ ਵਰਤੋਂ ਡਾਟਾ</translation>
 <translation id="509429900233858213">ਇੱਕ ਗੜਬੜ ਹੋਈ</translation>
+<translation id="5098190077610408701">ਕੀ ਦਿਲਚਸਪੀ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨਾ ਹੈ?</translation>
 <translation id="5102401324271069229">ਜੇ ਕੋਈ ਸਾਈਟ ਤੁਹਾਡੇ ਪਾਸਵਰਡ ਨੂੰ ਚੋਰੀ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੀ ਹੈ ਜਾਂ ਜਦੋਂ ਤੁਸੀਂ ਕੋਈ ਨੁਕਸਾਨਦੇਹ ਫ਼ਾਈਲ ਡਾਊਨਲੋਡ ਕਰਦੇ ਹੋ, ਤਾਂ Chrome ਸੁਰੱਖਿਅਤ ਬ੍ਰਾਊਜ਼ਿੰਗ ਨੂੰ ਪੰਨੇ ਦੀ ਸਮੱਗਰੀ ਸਮੇਤ URL ਵੀ ਭੇਜ ਸਕਦਾ ਹੈ</translation>
 <translation id="510275257476243843">1 ਘੰਟਾ ਬਾਕੀ</translation>
 <translation id="5115811374190515607"><ph name="PRODUCT_NAME" /> ਵੱਲ</translation>
@@ -776,6 +803,7 @@
 <translation id="5578795271662203820">ਇਸ ਚਿੱਤਰ ਲਈ <ph name="SEARCH_ENGINE" /> ਖੋਜੋ</translation>
 <translation id="5581519193887989363">ਤੁਸੀਂ <ph name="BEGIN_LINK1" />ਸੈਟਿੰਗਾਂ<ph name="END_LINK1" /> ਵਿੱਚ ਹਮੇਸ਼ਾਂ ਇਹ ਚੁਣ ਸਕਦੇ ਹੋ ਕਿ ਕਿਸਦਾ ਸਿੰਕ ਕਰਨਾ ਹੈ।</translation>
 <translation id="5590372121997663538">ਇਸ ਕੰਪਿਊਟਰ ਨੂੰ ਯਾਦ ਰੱਖੋ</translation>
+<translation id="559871659088672663">ਇਹ ਵਿਸ਼ੇਸ਼ਤਾ ਫ਼ਿਲਹਾਲ ਵਿਕਾਸ ਅਧੀਨ ਹੈ</translation>
 <translation id="5599455543593328020">ਇਨਕੋਗਨਿਟੋ ਮੋਡ</translation>
 <translation id="5599941490345670218">Google Assistant ਸਾਰੀਆਂ ਵੈੱਬਸਾਈਟਾਂ 'ਤੇ ਤੁਹਾਡੇ ਲਈ ਕਾਰਵਾਈਆਂ ਪੂਰੀਆਂ ਕਰ ਸਕਦੀ ਹੈ</translation>
 <translation id="5620163320393916465">ਕੋਈ ਰੱਖਿਅਤ ਕੀਤੇ ਪਾਸਵਰਡ ਨਹੀਂ</translation>
@@ -870,6 +898,7 @@
 <translation id="6069177176307973611">ਪਰਦੇਦਾਰੀ ਅਤੇ ਸੁਰੱਖਿਆ ਸੈਟਿੰਗਾਂ ਦੀ ਸਮੀਖਿਆ ਕਰੋ</translation>
 <translation id="6070730414166672373">ਤੁਹਾਡੇ ਬੈਂਕ ਨਾਲ ਸੰਪਰਕ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ\u2026</translation>
 <translation id="6085886413119427067">ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ ਕਿ ਕਿਸੇ ਸੁਰੱਖਿਅਤ ਕਨੈਕਸ਼ਨ 'ਤੇ ਵੈੱਬਸਾਈਟਾਂ ਨੂੰ ਕਿਵੇਂ ਕਨੈਕਟ ਕਰਨਾ ਹੈ</translation>
+<translation id="6091413777268123602">ਪ੍ਰਾਈਵੇਸੀ ਸੈਂਡਬਾਕਸ ਪਰਖਾਂ ਨਾਲ, ਸਾਈਟਾਂ ਤੁਹਾਡੇ ਡਾਟੇ ਦੀ ਘੱਟ ਵਰਤੋਂ ਕਰ ਕੇ ਉਹੀ ਬ੍ਰਾਊਜ਼ਿੰਗ ਅਨੁਭਵ ਪ੍ਰਦਾਨ ਕਰ ਸਕਦੀਆਂ ਹਨ। ਇਸਦਾ ਮਤਲਬ ਹੈ ਤੁਹਾਡੇ ਲਈ ਜ਼ਿਆਦਾ ਪਰਦੇਦਾਰੀ ਅਤੇ ਘੱਟ ਕ੍ਰਾਸ-ਸਾਈਟ ਟਰੈਕਿੰਗ। ਅਸੀਂ ਨਵੀਆਂ ਪਰਖਾਂ ਸ਼ਾਮਲ ਕਰਾਂਗੇ ਕਿਉਂਕਿ ਉਹ ਜਾਂਚ ਲਈ ਤਿਆਰ ਹਨ।</translation>
 <translation id="60923314841986378"><ph name="HOURS" /> ਘੰਟੇ ਬਾਕੀ</translation>
 <translation id="6095578583683628124">ਜੇ Google ਹੀ ਤੁਹਾਡਾ ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਖੋਜ ਇੰਜਣ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਬਿਹਤਰ ਅਤੇ ਸੰਦਰਭੀ ਤੌਰ 'ਤੇ ਢੁਕਵੇਂ ਸੁਝਾਅ ਦੇਖੋਗੇ</translation>
 <translation id="6108923351542677676">ਸੈਟਅਪ ਚਾਲੂ ਹੈ...</translation>
@@ -996,11 +1025,13 @@
 <translation id="671481426037969117">ਤੁਹਾਡਾ <ph name="FQDN" /> ਟਾਈਮਰ ਸਮਾਪਤ ਹੋਇਆ। ਇਹ ਭਲਕੇ ਦੁਬਾਰਾ ਸ਼ੁਰੂ ਹੋਵੇਗਾ।</translation>
 <translation id="6715020873764921614">ਕੀ ਤੁਸੀਂ ਫਿਰ ਵੀ <ph name="FILE_NAME" /> (<ph name="FILE_SIZE" />) ਨੂੰ ਡਾਊਨਲੋਡ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?</translation>
 <translation id="6719634564325948108">ਕੀ QR ਕੋਡ ਨਾਲ ਕਨੈਕਟ ਕਰਨਾ ਹੈ?</translation>
+<translation id="6737612727720318154">ਜੇ ਤੁਹਾਨੂੰ ਲੱਗਦਾ ਹੈ ਕਿ ਆਈਟਮ ਨਾਲ ਸੰਬੰਧਿਤ ਵਿਗਿਆਪਨ ਤੁਹਾਡੇ ਲਈ ਲਾਹੇਵੰਦ ਹੋਣਗੇ, ਤਾਂ ਦਿਲਚਸਪੀ ਜਾਂ ਸਾਈਟ ਨੂੰ ਆਗਿਆ ਦਿਓ</translation>
 <translation id="6738516213925468394">ਤੁਹਾਡਾ ਡਾਟਾ ਤੁਹਾਡੇ <ph name="BEGIN_LINK" />ਸਿੰਕ ਪਾਸਫਰੇਜ਼<ph name="END_LINK" /> ਨਾਲ <ph name="TIME" /> ਵਜੇ ਇਨਕ੍ਰਿਪਟ ਕੀਤਾ ਗਿਆ। ਸਿੰਕ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਇਸਨੂੰ ਦਾਖਲ ਕਰੋ।</translation>
 <translation id="6738867403308150051">ਡਾਊਨਲੋਡ ਕਰ ਰਿਹਾ ਹੈ…</translation>
 <translation id="6751521182688001123">ਤੁਰੰਤ ਇੱਕ ਨਵੀਂ ਟੈਬ ਖੋਲ੍ਹੋ। ਇਸ ਸ਼ਾਰਟਕੱਟ ਦਾ ਸੰਪਾਦਨ ਕਰਨ ਲਈ, ਸਪਰਸ਼ ਕਰਕੇ ਰੱਖੋ।</translation>
 <translation id="6756507620369789050">ਵਿਚਾਰ ਸਾਂਝਾ ਕਰੋ</translation>
 <translation id="6767294960381293877">ਟੈਬ ਨੂੰ ਸਾਂਝਾ ਕਰਨ ਵਾਲੇ ਡੀਵਾਈਸਾਂ ਦੀ ਸੂਚੀ ਅੱਧੀ ਉਚਾਈ 'ਤੇ ਖੁੱਲ੍ਹੀ ਹੋਈ ਹੈ।</translation>
+<translation id="6770042910635026163">ਤੁਹਾਡੀਆਂ ਦਿਲਚਸਪੀਆਂ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਨ ਵਾਲੀਆਂ ਉਹ ਸਾਈਟਾਂ ਜਿਨ੍ਹਾਂ 'ਤੇ ਤੁਸੀਂ ਜਾਂਦੇ ਹੋ</translation>
 <translation id="6770602306803890733">ਵੈੱਬ 'ਤੇ ਤੁਹਾਡੀ ਅਤੇ ਹਰ ਕਿਸੇ ਦੀ ਸੁਰੱਖਿਆ ਨੂੰ ਬਿਹਤਰ ਬਣਾਇਆ ਜਾਂਦਾ ਹੈ</translation>
 <translation id="6783942555455976443">ਇਸ ਪੰਨੇ ਨੂੰ ਬਾਅਦ ਵਿੱਚ ਪੜ੍ਹਣ ਲਈ ਰੱਖਿਅਤ ਕਰੋ ਅਤੇ ਇਸ ਲਈ ਇੱਕ ਯਾਦ-ਸੂਚਨਾ ਪ੍ਰਾਪਤ ਕਰੋ</translation>
 <translation id="6795633245022906657">ਤੁਰੰਤ ਨਵੀਂ ਟੈਬ ਖੋਲ੍ਹੋ। ਇਸ ਸ਼ਾਰਟਕੱਟ ਦਾ ਸੰਪਾਦਨ ਕਰਨ ਲਈ, ਸੈਟਿੰਗਾਂ 'ਤੇ ਜਾਓ।</translation>
@@ -1061,6 +1092,7 @@
 <translation id="7093803425429738190">ਜਜ਼ਬਾਤ ਸ਼ਾਮਲ ਕਰੋ</translation>
 <translation id="7105047059074518658">ਡੀਵਾਈਸਾਂ 'ਤੇ ਵਧੇਰੇ ਆਸਾਨੀ ਨਾਲ ਬ੍ਰਾਊਜ਼ ਕਰਨ ਲਈ ਸਾਈਨ-ਇਨ ਕਰੋ</translation>
 <translation id="7106762743910369165">ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਰ ਦਾ ਪ੍ਰਬੰਧਨ ਤੁਹਾਡੀ ਸੰਸਥਾ ਵੱਲੋਂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ</translation>
+<translation id="7130504491556983216">ਵੈੱਬ 'ਤੇ ਬ੍ਰਾਊਜ਼ ਕਰਦੇ ਹੋਏ ਦਿਲਚਸਪੀਆਂ ਦੀ ਸੂਚੀ ਇੱਥੇ ਦਿਸੇਗੀ</translation>
 <translation id="7138678301420049075">ਹੋਰ</translation>
 <translation id="7143462160780459030">ਸਕ੍ਰੀਨਸ਼ਾਟ ਨਹੀਂ ਲਿਆ ਜਾ ਸਕਦਾ। ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।</translation>
 <translation id="7146622961999026732">ਇਹ ਸਾਈਟਾਂ ਅਤੇ ਐਪਾਂ ਤੁਹਾਡੇ ਲਈ ਮਹੱਤਵਪੂਰਨ ਲੱਗ ਰਹੀਆਂ ਹਨ:</translation>
@@ -1095,6 +1127,7 @@
 <translation id="7339898014177206373">ਨਵੀਂ window</translation>
 <translation id="7340958967809483333">'ਡਿਸਕਵਰ' ਲਈ ਵਿਕਲਪ</translation>
 <translation id="7352339641508007922">ਇੱਕ ਲੰਬਾ ਸਕ੍ਰੀਨਸ਼ਾਟ ਲੈਣ ਲਈ ਘਸੀਟੋ</translation>
+<translation id="7352531447904559593">ਬ੍ਰਾਊਜ਼ਰ-ਆਧਾਰਿਤ ਵਿਗਿਆਪਨ ਵਿਅਕਤੀਗਤਕਰਨ ਬਾਰੇ ਹੋਰ ਜਾਣੋ</translation>
 <translation id="7352651011704765696">ਕੁਝ ਗ਼ਲਤ ਹੋਇਆ ਸੀ</translation>
 <translation id="7352939065658542140">ਵੀਡੀਓ</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{1 ਚੁਣੀ ਗਈ ਆਈਟਮ ਸਾਂਝੀ ਕਰੋ}one{# ਚੁਣੀਆਂ ਗਈਆਂ ਆਈਟਮਾਂ ਸਾਂਝੀਆਂ ਕਰੋ}other{# ਚੁਣੀਆਂ ਗਈਆਂ ਆਈਟਮਾਂ ਸਾਂਝੀਆਂ ਕਰੋ}}</translation>
@@ -1150,6 +1183,7 @@
 <translation id="7619072057915878432">ਨੈੱਟਵਰਕ ਅਸਫਲਤਾਵਾਂ ਕਾਰਨ <ph name="FILE_NAME" /> ਡਾਊਨਲੋਡ ਅਸਫ਼ਲ ਰਿਹਾ।</translation>
 <translation id="7626032353295482388">Chrome ਵਿੱਚ ਸੁਆਗਤ ਹੈ</translation>
 <translation id="7630202231528827509">ਪ੍ਰਦਾਨਕ URL</translation>
+<translation id="7634280112532283638">ਸਪੈਮ ਅਤੇ ਧੋਖਾਧੜੀ ਨੂੰ ਘਟਾਉਣਾ</translation>
 <translation id="7638584964844754484">ਗਲਤ ਪਾਸਫਰੇਜ਼</translation>
 <translation id="7641339528570811325">ਬ੍ਰਾਊਜ਼ਿੰਗ ਡਾਟਾ ਕਲੀਅਰ ਕਰੋ...</translation>
 <translation id="7646772052135772216">ਪਾਸਵਰਡ ਸਿੰਕ ਕੰਮ ਨਹੀਂ ਕਰ ਰਿਹਾ ਹੈ</translation>
@@ -1209,6 +1243,7 @@
 <translation id="7942131818088350342"><ph name="PRODUCT_NAME" /> ਪੁਰਾਣਾ ਹੈ।</translation>
 <translation id="7944772052836377867">ਸਿੰਕ ਕਰਨ ਲਈ ਆਪਣੀ ਪਛਾਣ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਦੀ ਲੋੜ ਹੈ</translation>
 <translation id="7947953824732555851">ਸਵੀਕਾਰ ਕਰਕੇ ਸਾਈਨ-ਇਨ ਕਰੋ</translation>
+<translation id="7959157064403954786">ਹੋਰ ਪਾਰਦਰਸ਼ੀ ਵਿਗਿਆਪਨ ਅਜ਼ਮਾਓ</translation>
 <translation id="7961015016161918242">ਕਦੇ ਨਹੀਂ</translation>
 <translation id="7961926449547174351">ਤੁਸੀਂ ਸਟੋਰੇਜ ਤੱਕ ਪਹੁੰਚ ਬੰਦ ਕਰ ਦਿੱਤੀ ਹੈ, ਕਿਰਪਾ ਕਰਕੇ ਇਸਨੂੰ ਚਾਲੂ ਕਰਨ ਲਈ ਸੈਟਿੰਗਾਂ 'ਤੇ ਜਾਓ।</translation>
 <translation id="7963646190083259054">ਵੈਂਡਰ:</translation>
@@ -1288,6 +1323,7 @@
 <translation id="835847953965672673"><ph name="NUMBER_OF_DOWNLOADS" /> ਡਾਊਨਲੋਡਾਂ ਨੂੰ ਮੁੜ-ਬਹਾਲ ਕੀਤਾ ਗਿਆ</translation>
 <translation id="8364299278605033898">ਪ੍ਰਸਿੱਧ ਵੈੱਬਸਾਈਟਾਂ ਦੇਖੋ</translation>
 <translation id="8368001212524806591">ਕੀਮਤ 'ਤੇ ਨਜ਼ਰ ਰੱਖੋ</translation>
+<translation id="8383226135083126309"><ph name="BEGIN_BOLD" />ਅਸੀਂ ਇਸ ਡਾਟੇ ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰਦੇ ਹਾਂ:<ph name="END_BOLD" /> Chrome ਤੁਹਾਡੀਆਂ ਦਿਲਚਸਪੀਆਂ ਦਾ ਅੰਦਾਜ਼ਾ ਲਗਾ ਸਕਦਾ ਹੈ। ਬਾਅਦ ਵਿੱਚ, ਤੁਸੀਂ ਜਿਹੜੀ ਸਾਈਟ 'ਤੇ ਜਾਂਦੇ ਹੋ ਉਹ Chrome ਨੂੰ ਤੁਹਾਡੇ ਵੱਲੋਂ ਦੇਖੇ ਜਾਣ ਵਾਲੇ ਵਿਗਿਆਪਨਾਂ ਨੂੰ ਵਿਅਕਤੀਗਤ ਬਣਾਉਣ ਵਾਸਤੇ ਤੁਹਾਡੀਆਂ ਦਿਲਚਸਪੀਆਂ ਨੂੰ ਦੇਖਣ ਲਈ ਕਹਿ ਸਕਦੀ ਹੈ।</translation>
 <translation id="8387617938027387193">ਆਪਣੀ ਪਛਾਣ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ</translation>
 <translation id="8393700583063109961">ਸੁਨੇਹਾ ਭੇਜੋ</translation>
 <translation id="8394720698884623075">Chrome ਵਿੱਚ ਸਟੋਰ ਕੀਤੀਆਂ ਅਸੁਰੱਖਿਅਤ ਸਾਈਟਾਂ ਦੀ ਸੂਚੀ ਨਾਲ URL ਦੀ ਜਾਂਚ ਕੀਤੀ ਜਾਂਦੀ ਹੈ</translation>
@@ -1325,6 +1361,7 @@
 <translation id="8505766168025405649">ਡਾਊਨਲੋਡ ਸਥਿਤੀ ਲਈ ਸੂਚਨਾ ਦੇਖੋ</translation>
 <translation id="8514477925623180633">Chrome ਵਿੱਚ ਸਟੋਰ ਕੀਤੇ ਪਾਸਵਰਡਾਂ ਦਾ ਨਿਰਯਾਤ ਕਰੋ</translation>
 <translation id="8516012719330875537">ਚਿੱਤਰ ਸੰਪਾਦਕ</translation>
+<translation id="8516431725144212809">Chrome ਦੇ ਅੰਦਾਜ਼ੇ ਮੁਤਾਬਕ ਤੁਹਾਡੀਆਂ ਦਿਲਚਸਪੀਆਂ</translation>
 <translation id="8523928698583292556">ਸਟੋਰ ਕੀਤਾ ਪਾਸਵਰਡ ਮਿਟਾਓ</translation>
 <translation id="8540136935098276800">ਸਹੀ ਢੰਗ ਨਾਲ ਫਾਰਮੈਟ ਕੀਤਾ URL ਦਾਖਲ ਕਰੋ</translation>
 <translation id="854522910157234410">ਇਹ ਸਫ਼ਾ ਖੋਲ੍ਹੋ</translation>
@@ -1356,6 +1393,7 @@
 <translation id="8659579665266920523">Chrome ਨਾਲ ਖੋਜਣ ਦਾ ਤਰੀਕਾ</translation>
 <translation id="8662811608048051533">ਜ਼ਿਆਦਾਤਰ ਸਾਈਟਾਂ ਤੋਂ ਤੁਹਾਨੂੰ ਸਾਈਨ-ਆਊਟ ਕਰਦਾ ਹੈ।</translation>
 <translation id="8664979001105139458">ਫ਼ਾਈਲ ਨਾਮ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ</translation>
+<translation id="8667760277771450375">ਅਸੀਂ ਸਾਈਟਾਂ ਨੂੰ ਵਿਗਿਆਪਨ ਸਪੈਮ ਅਤੇ ਧੋਖਾਧੜੀ ਬੰਦ ਕਰਨ ਦੇ ਯੋਗ ਬਣਾਉਂਦੇ ਹੋਏ ਕ੍ਰਾਸ-ਸਾਈਟ ਟਰੈਕਿੰਗ ਨੂੰ ਪ੍ਰਤਿਬੰਧਿਤ ਕਰਨ ਦੇ ਤਰੀਕਿਆਂ ਦੀ ਪੜਚੋਲ ਕਰ ਰਹੇ ਹਾਂ।</translation>
 <translation id="8676789164135894283">ਸਾਈਨ-ਇਨ ਲਈ ਪੁਸ਼ਟੀਕਰਨ</translation>
 <translation id="867767487203716855">ਅਗਲਾ ਅੱਪਡੇਟ</translation>
 <translation id="8683039184091909753">ਚਿੱਤਰ</translation>
@@ -1464,6 +1502,7 @@
 <translation id="962979164594783469">ਇਹ ਐਪ ਸਥਾਪਤ ਕਰੋ</translation>
 <translation id="96681097142096641">ਕੀ ਸਰਲ ਬਣਾਏ ਪੰਨੇ ਨੂੰ ਦੇਖਣਾ ਹੈ?</translation>
 <translation id="968900484120156207">ਜਿਨ੍ਹਾਂ ਪੰਨਿਆਂ 'ਤੇ ਤੁਸੀਂ ਜਾਂਦੇ ਹੋ ਉਹ ਇੱਥੇ ਦਿਖਾਈ ਦਿੰਦੇ ਹਨ</translation>
+<translation id="969573236494556070">ਸਾਈਟਾਂ ਵਿਚਕਾਰ ਸਾਂਝਾਕਰਨ ਸੀਮਤ ਕਰੋ</translation>
 <translation id="970715775301869095"><ph name="MINUTES" /> ਮਿੰਟ ਬਾਕੀ</translation>
 <translation id="981121421437150478">ਆਫ਼ਲਾਈਨ</translation>
 <translation id="983192555821071799">ਸਾਰੀਆਂ ਟੈਬਸ ਬੰਦ ਕਰੋ</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_tr.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_tr.xtb
index 860b93b..188e192 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_tr.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_tr.xtb
@@ -10,6 +10,7 @@
 <translation id="1045899828449635435">Ayrıca veriler bu sitelerden de silinsin mi?</translation>
 <translation id="1049743911850919806">Gizli mod</translation>
 <translation id="10614374240317010">Hiç kaydedilmeyecekler</translation>
+<translation id="1062628064301375934">Daha gizli bir web inşa etmemize yardımcı olun</translation>
 <translation id="107147699690128016">Dosya uzantısını değiştirirseniz dosya farklı bir uygulamada açılabilir ve cihazınız için tehlikeli olabilir.</translation>
 <translation id="1089606299949659462">İnceleme tamamlandı.</translation>
 <translation id="1095761715416917775">Senkronizasyon verilerinize her zaman erişebildiğinizden emin olun</translation>
@@ -106,7 +107,13 @@
 <translation id="1554532453982918912">Size benzer kullanımı olan kişiler için Chrome'u daha iyi hale getirmemize yardımcı olun</translation>
 <translation id="1558391695376153246">Gizli sekmeleri kapat</translation>
 <translation id="1571304935088121812">Kullanıcı adını kopyala</translation>
+<translation id="1573632872794824374">Sitelerin bilgilerinizi daha az kullanarak aynı tarama deneyimini sunmasını sağlayan yeni özellikler keşfediyoruz</translation>
 <translation id="1592864538817356322">Standart koruma:</translation>
+<translation id="161647866166517041">Spam ve sahtekarlık azaltma, sitelerin sahtekarlıkla mücadele etmesine ve botları insanlardan ayırt etmesine yardımcı olmak için güven jetonlarını kullanır.
+
+Bir siteyle olan etkileşiminize (ör. düzenli olarak bir hesapta oturum açmak) göre bu site, tarayıcınıza bir güven jetonu gönderebilir. Daha sonra da ziyaret ettiğiniz diğer siteler geçerli bir güven jetonu arayıp bulursa bu sitelerin sizi bot yerine gerçek bir kişi olarak kabul etmesi daha olasıdır.
+
+Güven jetonları, web'deki gizliliği artırırken kim olduğunuzu bulmak için kullanılamaz.</translation>
 <translation id="1628019612362412531">{NUM_SELECTED,plural, =1{1 seçili öğeyi kaldır}other{# seçili öğeyi kaldır}}</translation>
 <translation id="1633659023549081553">Chrome ana sayfasındaki yeni içerikleri keşfedin</translation>
 <translation id="1641113438599504367">Güvenli Tarama</translation>
@@ -167,6 +174,7 @@
 <translation id="200114059308480249">Seçilen kelimenin etrafındaki metin Google aramalarına dahil edilsin mi?</translation>
 <translation id="2013642289801508067">{FILE_COUNT,plural, =1{# Dosya}other{# Dosya}}</translation>
 <translation id="2015836039326522978"><ph name="APP_NAME" />, Chrome'da açılacak. Devam ederek <ph name="BEGIN_LINK1" />Google Hizmet Şartları<ph name="END_LINK1" /> ile <ph name="BEGIN_LINK2" />Google Chrome ve Chrome OS Ek Hizmet Şartları<ph name="END_LINK2" />'nı kabul etmiş olursunuz. <ph name="BEGIN_LINK3" />Gizlilik Politikası<ph name="END_LINK3" /> da geçerlidir.</translation>
+<translation id="2019145049163614359">İlgi alanı kaldırılsın mı?</translation>
 <translation id="2020309681647789787">Geçmiş bilgilerinizi senkronize edilmiş tüm cihazlarınızda bulabileceksiniz. Bu şekilde, son bıraktığınız yerden devam edebilirsiniz</translation>
 <translation id="2021896219286479412">Tam ekran site kontrolleri</translation>
 <translation id="2038563949887743358">Masaüstü sitesi iste işlevini etkinleştir</translation>
@@ -203,6 +211,7 @@
 <translation id="2175927920773552910">QR Kodu</translation>
 <translation id="2176767904800337188">Sanal kart gerçek kartınızı saklayarak olası sahtekarlıklardan korunmanıza yardımcı olur. <ph name="BEGIN_LINK1" />Sanal kartlar hakkında daha fazla bilgi<ph name="END_LINK1" /></translation>
 <translation id="218608176142494674">Paylaşım</translation>
+<translation id="2189903024544168260">İlgi alanı kaldırıldı</translation>
 <translation id="2194856509914051091">Dikkate alınması gereken noktalar</translation>
 <translation id="2200113223741723867">Kullanım verileri paylaşımını yönetin</translation>
 <translation id="2218567645332692482">Gezinmeleri HTTPS'ye yükseltip bu uzantıyı desteklemeyen siteleri yüklemeden önce sizi uyarır</translation>
@@ -266,6 +275,7 @@
 <translation id="2536728043171574184">Bu sayfanın çevrimdışı bir kopyası görüntüleniyor</translation>
 <translation id="2546283357679194313">Çerezler ve site verileri</translation>
 <translation id="2549516196460093976">Bu QR kodunu gösteren bilgisayarda oturum açmak için bu tableti kullanabilirsiniz.</translation>
+<translation id="2558569818338050235">Tarama geçmişiniz, gördüğünüz reklamları etkiler</translation>
 <translation id="2561519700418191927">Video önizlemeleri</translation>
 <translation id="2567385386134582609">IMAGE</translation>
 <translation id="2567545343356994513">Tehlikeli web siteleri, indirmeler ve uzantılara karşı daha hızlı, proaktif koruma</translation>
@@ -277,6 +287,7 @@
 <translation id="2604446170045642109">Ayarlarınızdan sitelerdeki koyu temayı devre dışı bırakabilirsiniz.</translation>
 <translation id="2612676031748830579">Kart numarası</translation>
 <translation id="2625189173221582860">Şifre kopyalandı</translation>
+<translation id="2642087927315268160">Oturum açma alt sayfası kapatıldı.</translation>
 <translation id="2645657967708199252"><ph name="CONNECTION_TYPE" /> bağlantınız, indirme işleminizi yavaşlatabilir</translation>
 <translation id="2647434099613338025">Dil ekle</translation>
 <translation id="2649068648233607930">Tarayıcınız, <ph name="DOMAIN" /> tarafından yönetilmektedir</translation>
@@ -289,11 +300,13 @@
 <translation id="2704606927547763573">Kopyalandı</translation>
 <translation id="2707726405694321444">Sayfayı yenile</translation>
 <translation id="271033894570825754">Yeni</translation>
+<translation id="2711073837061989559">Denemeler</translation>
 <translation id="2718352093833049315">Yaln. Kablosuzda</translation>
 <translation id="2718846868787000099">Siteler, tercih ettiğiniz dillerde içerik göstermek için tercihlerinizi görebilir</translation>
 <translation id="2723001399770238859">ses</translation>
 <translation id="2732063072010454421">Daha iyi bir sesli deneyim elde edin</translation>
 <translation id="2739256783402597439">2G</translation>
+<translation id="2746842245914314523">Chrome ayarlarından bu özellikler hakkında daha fazla bilgi edinebilirsiniz. Denemeler sırasında sitelerle olan etkileşiminiz, bu yeni özellikler olmadan şu anki deneyiminize kıyasla daha gizli olmayabilir.</translation>
 <translation id="2760989362628427051">Cihazınızın koyu tema veya Pil Tasarrufu özelliği açık olduğunda koyu tema açılır</translation>
 <translation id="2762000892062317888">az önce</translation>
 <translation id="276969039800130567"><ph name="USER_EMAIL_ADDRESS" /> olarak oturum açıldı.</translation>
@@ -362,6 +375,7 @@
 <translation id="3037177537145227281">Fiyat takip ediliyor</translation>
 <translation id="3037517125981011456">Chrome'da oturum açmak için istekleri gösterir</translation>
 <translation id="3046945242843292318">Gelecek sefer bu siteye daha hızlı ulaşın</translation>
+<translation id="3055113921564083271">Kaldırdığınız ilgi alanları</translation>
 <translation id="3055259925215945098">Yer işareti taşındı</translation>
 <translation id="3055841435094910999">Chrome kullanımınızla ilgili Google'a bilgi gönderilir ancak bu bilgiler kimliğinizle ilişkilendirilmez\n\nChrome kilitlenirse bu kilitlenmeyle ilgili ayrıntılarda bazı kişisel bilgiler yer alabilir\n\nSenkronizasyonu açarsanız ziyaret ettiğiniz URL'ler hakkındaki bilgiler de metriklerde yer alabilir</translation>
 <translation id="3060635849835183725">{BOOKMARKS_COUNT,plural, =1{<ph name="BOOKMARKS_COUNT_ONE" /> yer işareti}other{<ph name="BOOKMARKS_COUNT_MANY" /> yer işareti}}</translation>
@@ -378,6 +392,7 @@
 <translation id="3166827708714933426">Sekme ve pencere kısayolları</translation>
 <translation id="316694332262407393">Chrome zaten buradan çalışıyor.</translation>
 <translation id="3169472444629675720">Discover</translation>
+<translation id="3187472288455401631">Reklam ölçümü</translation>
 <translation id="3207960819495026254">Yer işareti koyuldu</translation>
 <translation id="3208584281581115441">Şimdi denetle</translation>
 <translation id="3211426585530211793"><ph name="ITEM_TITLE" /> silindi</translation>
@@ -408,6 +423,7 @@
 <translation id="3290991969712132877">Buraya daha hızlı ulaşmak için bu sayfayı Diğer seçenekler düğmesinden Ana ekranınıza ekleyin</translation>
 <translation id="3297344142967351106">Sesli yardım</translation>
 <translation id="3303414029551471755">İçeriği indirme işlemine başlansın mı?</translation>
+<translation id="3321367458490630980">İlgi alanı eklendi</translation>
 <translation id="3334729583274622784">Dosya uzantısı değiştirilsin mi?</translation>
 <translation id="3341262203274374114">Takip bırakılamıyor. Bir sorun oldu.</translation>
 <translation id="3359667936385849800">Mevcut servis sağlayıcınızı kullanın</translation>
@@ -429,8 +445,10 @@
 <translation id="3444179773590444986">Sitelerdeki koyu temayla ilgili geri bildirim paylaşmak ister misiniz?</translation>
 <translation id="3469665409713263828">{FILE_COUNT,plural, =1{1 indirme işlemi programlandı}other{# indirme işlemi programlandı}}</translation>
 <translation id="3474624961160222204"><ph name="NAME" /> olarak devam et</translation>
+<translation id="3475207952017699209">Kişiselleştirilmiş reklamlar hakkında</translation>
 <translation id="3478363558367712427">Arama motorunuzu seçebilirsiniz</translation>
 <translation id="3493531032208478708">Önerilen içerik hakkında <ph name="BEGIN_LINK" />daha fazla bilgi edinin<ph name="END_LINK" /></translation>
+<translation id="3495219333887281978">Oturum açma alt sayfası ekranın yarısına kadar açıldı.</translation>
 <translation id="3499246418971111862">chrome_qrcode_<ph name="CURRENT_TIMESTAMP_MS" /></translation>
 <translation id="3502647154914451322">Chrome'u kullanarak <ph name="BEGIN_TOS_LINK" />Google Hizmet Şartları<ph name="END_TOS_LINK" /> ile <ph name="BEGIN_ATOS_LINK" />Google Chrome ve Chrome OS Ek Hizmet Şartları<ph name="END_ATOS_LINK" />'nı kabul etmiş olursunuz.</translation>
 <translation id="3507132249039706973">Standart Koruma açık</translation>
@@ -449,6 +467,7 @@
 <translation id="3568688522516854065">Diğer cihazlarınızdaki sekmelerinize ulaşmak için oturum açın ve senkronizasyonu etkinleştirin</translation>
 <translation id="357465026686164600">Telefonun, güvenlik anahtarı olarak kullanılması</translation>
 <translation id="3577473026931028326">Bir sorun oldu. Tekrar deneyin.</translation>
+<translation id="3578874072190212775">Sitelerin sahtekarlıkla mücadele etmesine ve botları insanlardan ayırt etmesine yardımcı olun</translation>
 <translation id="3587482841069643663">Tümü</translation>
 <translation id="3587596251841506391">Web'de güvenliğin iyileştirilmesine yardımcı olun</translation>
 <translation id="3602290021589620013">Önizleme</translation>
@@ -490,6 +509,7 @@
 <translation id="3856096718352044181">Lütfen bunun geçerli bir sağlayıcı olduğunu doğrulayın veya daha sonra tekrar deneyin</translation>
 <translation id="3858860766373142691">Ad</translation>
 <translation id="3861633093716975811">Popüler videolar</translation>
+<translation id="3862592757180800623">Chrome ayarlarını kullanarak istediğiniz zaman fikrinizi değiştirebilirsiniz. Denemeler sırasında sitelerle olan etkileşiminiz, bu yeni özellikler olmadan şu anki deneyiminize kıyasla daha gizli olmayabilir.</translation>
 <translation id="3892148308691398805">Metni kopyala</translation>
 <translation id="3894427358181296146">Klasör ekleyin</translation>
 <translation id="3899682235662194879">Tüm Gizli sekmeleri kapat</translation>
@@ -498,6 +518,7 @@
 <translation id="3924911262913579434"><ph name="SAFE_BROWSING_MODE" /> açık</translation>
 <translation id="3927692899758076493">Sans Serif</translation>
 <translation id="3928666092801078803">Verilerimi birleştir</translation>
+<translation id="3932390316856284148">Oturum açma alt sayfası tam ekranda açıldı.</translation>
 <translation id="3934366560681368531">“</translation>
 <translation id="393697183122708255">Kullanılabilir etkin sesli arama yok</translation>
 <translation id="395377504920307820">Hesap olmadan kullan</translation>
@@ -509,6 +530,7 @@
 <translation id="3969863827134279083">Yukarı Git</translation>
 <translation id="397583555483684758">Senkronizasyonun çalışması durdu</translation>
 <translation id="3976396876660209797">Bu kısayolu kaldırıp yeniden oluşturun</translation>
+<translation id="3981902534690264083">Reklamverenler, reklamların nasıl performans gösterdiğini anlayabilir</translation>
 <translation id="3985215325736559418"><ph name="FILE_NAME" /> dosyasını tekrar indirmek istiyor musunuz?</translation>
 <translation id="3987993985790029246">Bağlantıyı kopyala</translation>
 <translation id="4000212216660919741">Çevrimdışı Ana Sayfa</translation>
@@ -526,6 +548,7 @@
 <translation id="4096227151372679484">Yer işareti kaydetme akışı ekranın yarısına kadar açıldı</translation>
 <translation id="4099578267706723511">Google'a kullanım istatistikleri ve kilitlenme raporları göndererek Chrome'u iyileştirmeye yardımcı olun.</translation>
 <translation id="410351446219883937">Otomatik oynatma</translation>
+<translation id="4106587138345390261">Chrome, sitelerin size ait daha az bilgiyi kullanarak aynı tarama deneyimini sunmasını sağlayan yeni özellikleri keşfediyor</translation>
 <translation id="4108314971463891922">Takip et</translation>
 <translation id="4108998448622696017">Tehlikeli etkinlik meydana geldiğinde tespit ederek sizi uyarır.</translation>
 <translation id="4116038641877404294">Sayfaları çevrimdışı olarak kullanmak için indirin</translation>
@@ -546,6 +569,7 @@
 <translation id="4248098802131000011">Şifrelerinizi veri ihlali ve diğer güvenlik sorunlarına karşı güvende tutun</translation>
 <translation id="4250229828105606438">Ekran görüntüsü</translation>
 <translation id="4256782883801055595">Açık kaynak lisansları</translation>
+<translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Kullanılan veriler:<ph name="END_BOLD" /> Tarama geçmişiniz ve bu cihazda Chrome'u kullanarak ziyaret ettiğiniz sitelerin kaydı.</translation>
 <translation id="4263656433980196874">Asistan sesli arama izni kullanıcı arayüzü tam yükseklikte açıldı</translation>
 <translation id="4269820728363426813">Bağlantı adresini kopyala</translation>
 <translation id="4290281343757112331">Bunun yerine daha sonra indirilsin mi?</translation>
@@ -556,6 +580,7 @@
 <translation id="4307992518367153382">Temel Bilgiler</translation>
 <translation id="4320177379694898372">İnternet bağlantısı yok</translation>
 <translation id="4321739720395210191">Kameranız açılamıyor. Cihazınızı yeniden başlatıp işlemi tekrar deneyin.</translation>
+<translation id="4324158606177867698">Kaldırdığınız ilgi alanı burada görünür</translation>
 <translation id="433213510553688132">Takip ediliyor...</translation>
 <translation id="4335835283689002019">Güvenli Tarama kapalı</translation>
 <translation id="4351244548802238354">İletişim kutusunu kapat</translation>
@@ -643,6 +668,7 @@
 <translation id="4807098396393229769">Kartın üzerindeki ad</translation>
 <translation id="481574578487123132">Bağlı cihazlar</translation>
 <translation id="4818017973810341238">Digital Assert Links, <ph name="VIOLATED_URL" /> adresinde doğrulanamadı</translation>
+<translation id="4826163340425232009">Oturum açma alt sayfası.</translation>
 <translation id="4831037795716408498">İçeriği indir</translation>
 <translation id="4834007576107377210">Arama geçmişinizi silmek için arama motorunuzun bununla ilgili talimatlarını (varsa) inceleyin</translation>
 <translation id="4834250788637067901">Google Pay'i kullanan ödeme yöntemleri, teklifler ve adresler</translation>
@@ -697,6 +723,7 @@
 <translation id="5091199029769593641">Yakında yeni sekme açtığınızda <ph name="SITE_NAME" /> kaynağından haberler göreceksiniz. Takip ettiğiniz siteler Google hesabınıza kaydedilir. Bunları Keşfet ayarlarından yönetebilirsiniz.</translation>
 <translation id="5091249083535528968">Genişletilmiş kullanım verileri</translation>
 <translation id="509429900233858213">Bir hata oluştu.</translation>
+<translation id="5098190077610408701">İlgi alanı eklensin mi?</translation>
 <translation id="5102401324271069229">Chrome, bir sitenin şifrenizi çalmaya çalışması veya zararlı bir dosya indirmeniz halinde Güvenli Tarama'ya sayfa içeriğinden parçalarla birlikte URL'ler gönderebilir</translation>
 <translation id="510275257476243843">1 saat kaldı</translation>
 <translation id="5115811374190515607">Hedef: <ph name="PRODUCT_NAME" /></translation>
@@ -776,6 +803,7 @@
 <translation id="5578795271662203820">Bu resmi, <ph name="SEARCH_ENGINE" /> üzerinde ara</translation>
 <translation id="5581519193887989363">Neyin senkronize edileceğini istediğiniz zaman <ph name="BEGIN_LINK1" />ayarlardan<ph name="END_LINK1" /> seçebilirsiniz.</translation>
 <translation id="5590372121997663538">Bu bilgisayarı hatırla</translation>
+<translation id="559871659088672663">Bu özellik şu anda geliştirme aşamasındadır</translation>
 <translation id="5599455543593328020">Gizli mod</translation>
 <translation id="5599941490345670218">Google Asistan sizin için web sitelerindeki işlemleri tamamlayabilir</translation>
 <translation id="5620163320393916465">Kaydedilen şifre yok</translation>
@@ -870,6 +898,7 @@
 <translation id="6069177176307973611">Gizlilik ve güvenlik ayarlarını inceleyin</translation>
 <translation id="6070730414166672373">Bankanızla iletişim kuruluyor\u2026</translation>
 <translation id="6085886413119427067">Web siteleriyle güvenli bir bağlantı üzerinden nasıl bağlanılacağını belirler</translation>
+<translation id="6091413777268123602">Siteler, Özel Korumalı Alan denemeleriyle verilerinizi daha az kullanarak aynı tarama deneyimini sunabilir. Bu da sizin açınızdan gizliliğin artması ve siteler arası izlemenin azalması demektir. Test etmeye hazır hale geldikçe yeni denemeler eklemeye devam edeceğiz.</translation>
 <translation id="60923314841986378"><ph name="HOURS" /> saat kaldı</translation>
 <translation id="6095578583683628124">Google'ı varsayılan arama motorunuz olarak da kullanıyorsanız bağlamla daha alakalı, daha iyi öneriler görürsünüz</translation>
 <translation id="6108923351542677676">Kurulum devam ediyor…</translation>
@@ -996,11 +1025,13 @@
 <translation id="671481426037969117"><ph name="FQDN" /> zamanlayıcınızın süresi doldu. Yarın tekrar başlatılacak.</translation>
 <translation id="6715020873764921614"><ph name="FILE_NAME" /> (<ph name="FILE_SIZE" />) dosyasını yine de indirmek istiyor musunuz?</translation>
 <translation id="6719634564325948108">QR koduyla bağlanılsın mı?</translation>
+<translation id="6737612727720318154">Bir ilgi alanıyla veya siteyle ilgili reklamların sizin için yararlı olacağını düşünüyorsanız bu ilgi alanına veya siteye izin verin</translation>
 <translation id="6738516213925468394">Verileriniz <ph name="TIME" /> tarihinde <ph name="BEGIN_LINK" />senkronizasyon parolanızla<ph name="END_LINK" /> şifrelendi. Senkronizasyonu başlatmak için senkronizasyon parolanızı girin.</translation>
 <translation id="6738867403308150051">İndiriliyor…</translation>
 <translation id="6751521182688001123">Hızlıca yeni bir sekme açın. Bu kısayolu düzenlemek için dokunup basılı tutun.</translation>
 <translation id="6756507620369789050">Geri bildiriminizi paylaşın</translation>
 <translation id="6767294960381293877">Sekme paylaşılacak cihazların listesi yarım yükseklikte açıldı.</translation>
+<translation id="6770042910635026163">Ziyaret ettiğiniz ve ilgi alanlarınızı belirleyen siteler</translation>
 <translation id="6770602306803890733">Hem siz hem de web'deki herkes için güvenliği iyileştirir</translation>
 <translation id="6783942555455976443">Sayfayı daha sonrası için kaydedip hatırlatıcı al</translation>
 <translation id="6795633245022906657">Hızlıca yeni bir sekme açın. Bu kısayolu düzenlemek için Ayarlar'a gidin.</translation>
@@ -1061,6 +1092,7 @@
 <translation id="7093803425429738190">İfade ekle</translation>
 <translation id="7105047059074518658">Cihazlar arasında daha kolay göz atmak için oturum açın</translation>
 <translation id="7106762743910369165">Tarayıcınız, kuruluşunuz tarafından yönetilmektedir</translation>
+<translation id="7130504491556983216">Siz web'de gezindikçe ilgi alanlarınızın listesi burada görünür</translation>
 <translation id="7138678301420049075">Diğer</translation>
 <translation id="7143462160780459030">Ekran görüntüsü alınamıyor. Tekrar deneyin.</translation>
 <translation id="7146622961999026732">Bu siteler ve uygulamalar sizin için önemli görünüyor:</translation>
@@ -1095,6 +1127,7 @@
 <translation id="7339898014177206373">Yeni pencere</translation>
 <translation id="7340958967809483333">Keşfet seçenekleri</translation>
 <translation id="7352339641508007922">Uzun ekran görüntüsü almak için sürükleyin</translation>
+<translation id="7352531447904559593">Tarayıcı bazlı reklam kişiselleştirme hakkında daha fazla bilgi edinin</translation>
 <translation id="7352651011704765696">Bir şeyler ters gitti</translation>
 <translation id="7352939065658542140">VİDEO</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{1 seçili öğeyi paylaş}other{# seçili öğeyi paylaş}}</translation>
@@ -1150,6 +1183,7 @@
 <translation id="7619072057915878432">Ağ sorunları nedeniyle <ph name="FILE_NAME" /> dosyası indirilemedi.</translation>
 <translation id="7626032353295482388">Chrome'a Hoş Geldiniz</translation>
 <translation id="7630202231528827509">Sağlayıcı URL'si</translation>
+<translation id="7634280112532283638">Spam ve sahtekarlığı azaltma</translation>
 <translation id="7638584964844754484">Yanlış parola</translation>
 <translation id="7641339528570811325">Tarama verilerini temizle…</translation>
 <translation id="7646772052135772216">Şifre senkronizasyonu çalışmıyor</translation>
@@ -1209,6 +1243,7 @@
 <translation id="7942131818088350342"><ph name="PRODUCT_NAME" /> güncel değil.</translation>
 <translation id="7944772052836377867">Senkronizasyonun, kimliğinizi doğrulaması gerekiyor</translation>
 <translation id="7947953824732555851">Kabul et ve oturum aç</translation>
+<translation id="7959157064403954786">Daha şeffaf reklamları deneyin</translation>
 <translation id="7961015016161918242">Hiçbir Zaman</translation>
 <translation id="7961926449547174351">Depolama alanına erişimi devre dışı bıraktınız. Lütfen etkinleştirmek için Ayarlar'a gidin.</translation>
 <translation id="7963646190083259054">Firma:</translation>
@@ -1288,6 +1323,7 @@
 <translation id="835847953965672673"><ph name="NUMBER_OF_DOWNLOADS" /> indirme geri yüklendi</translation>
 <translation id="8364299278605033898">Popüler web sitelerini görün</translation>
 <translation id="8368001212524806591">Fiyatı takip et</translation>
+<translation id="8383226135083126309"><ph name="BEGIN_BOLD" />Bu verileri kullanma şeklimiz:<ph name="END_BOLD" /> Chrome, ilgi alanlarınızı tahmin edebilir. Daha sonrasında ziyaret ettiğiniz bir site, gördüğünüz reklamları kişiselleştirmek için Chrome'dan ilgi alanlarınızı göstermesini isteyebilir.</translation>
 <translation id="8387617938027387193">Siz olduğunuzu doğrulayın</translation>
 <translation id="8393700583063109961">İleti gönder</translation>
 <translation id="8394720698884623075">URL'leri, Chrome'da kayıtlı güvenli olmayan siteler listesine göre kontrol eder</translation>
@@ -1325,6 +1361,7 @@
 <translation id="8505766168025405649">İndirme durumu için bildirime bakın</translation>
 <translation id="8514477925623180633">Chrome'da depolanan şifreleri dışa aktarın</translation>
 <translation id="8516012719330875537">Resim Düzenleyici</translation>
+<translation id="8516431725144212809">Chrome'un tahmin ettiği ilgi alanlarınız</translation>
 <translation id="8523928698583292556">Kayıtlı şifreyi sil</translation>
 <translation id="8540136935098276800">Doğru biçimli bir URL girin</translation>
 <translation id="854522910157234410">Şu sayfayı aç:</translation>
@@ -1356,6 +1393,7 @@
 <translation id="8659579665266920523">Chrome ile arama yapma</translation>
 <translation id="8662811608048051533">Çoğu sitedeki oturumunuz kapatılır.</translation>
 <translation id="8664979001105139458">Dosya adı zaten mevcut</translation>
+<translation id="8667760277771450375">Sitelerin, reklam spam'ini ve sahtekarlığı durdurmasını sağlarken siteler arası izlemeyi kısıtlamanın yollarını da araştırıyoruz.</translation>
 <translation id="8676789164135894283">Oturum açma doğrulamaları</translation>
 <translation id="867767487203716855">Sonraki güncelleme</translation>
 <translation id="8683039184091909753">resim</translation>
@@ -1464,6 +1502,7 @@
 <translation id="962979164594783469">Bu uygulamayı yükleyin</translation>
 <translation id="96681097142096641">Basitleştirilmiş sayfa görüntülensin mi?</translation>
 <translation id="968900484120156207">Ziyaret ettiğiniz sayfalar burada görünür</translation>
+<translation id="969573236494556070">Siteler arası paylaşımı kısıtlayın</translation>
 <translation id="970715775301869095"><ph name="MINUTES" /> dk. kaldı</translation>
 <translation id="981121421437150478">Çevrimdışı</translation>
 <translation id="983192555821071799">Tüm sekmeleri kapat</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_uk.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_uk.xtb
index 4683d884..e469928e 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_uk.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_uk.xtb
@@ -10,6 +10,7 @@
 <translation id="1045899828449635435">Видалити дані з цих сайтів?</translation>
 <translation id="1049743911850919806">Анонімний перегляд</translation>
 <translation id="10614374240317010">Ніколи не зберігалося</translation>
+<translation id="1062628064301375934">Допоможіть нам розробити технології для кращої конфіденційності в мережі</translation>
 <translation id="107147699690128016">Якщо ви зміните розширення файлу, він може відкритися в іншому додатку або зашкодити пристрою.</translation>
 <translation id="1089606299949659462">Перевірку завершено.</translation>
 <translation id="1095761715416917775">Подбайте про те, щоб не втратити доступ до своїх синхронізованих даних</translation>
@@ -106,7 +107,13 @@
 <translation id="1554532453982918912">Допоможіть покращити Chrome для інших користувачів</translation>
 <translation id="1558391695376153246">Закрити анонімні вкладки</translation>
 <translation id="1571304935088121812">Копіювати ім’я користувача</translation>
+<translation id="1573632872794824374">Ми досліджуємо нові функції, з якими сайти могли б працювати як завжди, але використовувати менше вашої інформації</translation>
 <translation id="1592864538817356322">Стандартний захист:</translation>
+<translation id="161647866166517041">Ця функція використовує маркери довіри, що допомагають сайтам запобігати спробам шахрайства й відрізняти ботів від людей.
+
+На основі ваших дій, зокрема регулярного входу в обліковий запис, сайт може призначити вашому веб-переглядачу маркер довіри. Після цього інші відвідувані вами сайти, які знаходитимуть дійсний маркер довіри, з більшою ймовірністю розпізнаватимуть вас як людину, а не бота.
+
+Маркери довіри покращують вашу конфіденційність у мережі й не дають змоги вас ідентифікувати.</translation>
 <translation id="1628019612362412531">{NUM_SELECTED,plural, =1{Вилучити 1 вибраний елемент}one{Вилучити # вибраний елемент}few{Вилучити # вибрані елементи}many{Вилучити # вибраних елементів}other{Вилучити # вибраного елемента}}</translation>
 <translation id="1633659023549081553">Переглядайте новий контент на головній сторінці Chrome</translation>
 <translation id="1641113438599504367">Безпечний перегляд</translation>
@@ -167,6 +174,7 @@
 <translation id="200114059308480249">Враховувати контекст у пошуку Google?</translation>
 <translation id="2013642289801508067">{FILE_COUNT,plural, =1{# файл}one{# файл}few{# файли}many{# файлів}other{# файлу}}</translation>
 <translation id="2015836039326522978">Додаток <ph name="APP_NAME" /> відкриється в Chrome. Продовжуючи, ви приймаєте <ph name="BEGIN_LINK1" />Загальні положення та умови Google<ph name="END_LINK1" /> і <ph name="BEGIN_LINK2" />Додаткові умови використання Google Chrome та ОС Chrome<ph name="END_LINK2" />. Також застосовується <ph name="BEGIN_LINK3" />Політика конфіденційності<ph name="END_LINK3" />.</translation>
+<translation id="2019145049163614359">Вилучити інтерес?</translation>
 <translation id="2020309681647789787">Історія зберігатиметься на всіх синхронізованих пристроях, щоб ви могли продовжувати те, що ви робили</translation>
 <translation id="2021896219286479412">Керування повноекранним режимом</translation>
 <translation id="2038563949887743358">Увімкнути опцію "Запитувати версію сайту для комп’ютера"</translation>
@@ -203,6 +211,7 @@
 <translation id="2175927920773552910">QR-код</translation>
 <translation id="2176767904800337188">Щоб захистити вас від потенційного шахрайства, замість справжньої картки буде використовуватися віртуальна. <ph name="BEGIN_LINK1" />Докладніше про віртуальні картки<ph name="END_LINK1" /></translation>
 <translation id="218608176142494674">Спільний доступ</translation>
+<translation id="2189903024544168260">Інтерес вилучено</translation>
 <translation id="2194856509914051091">Що варто врахувати</translation>
 <translation id="2200113223741723867">Керувати доступом до даних про використання</translation>
 <translation id="2218567645332692482">Трафік переходить на HTTPS, а ви отримуєте сповіщення перед завантаженням сайтів, які не підтримують цей протокол</translation>
@@ -266,6 +275,7 @@
 <translation id="2536728043171574184">Перегляд копії сторінки в режимі офлайн</translation>
 <translation id="2546283357679194313">Файли cookie та дані із сайтів</translation>
 <translation id="2549516196460093976">Ви можете використовувати цей планшет, щоб входити на комп’ютері, де відображається цей QR-код.</translation>
+<translation id="2558569818338050235">Ваша історія веб-перегляду впливає на оголошення, що вам показуються</translation>
 <translation id="2561519700418191927">Анімовані значки відео</translation>
 <translation id="2567385386134582609">ЗОБРАЖЕННЯ</translation>
 <translation id="2567545343356994513">Швидший активний захист від небезпечних веб-сайтів, завантажень і розширень</translation>
@@ -277,6 +287,7 @@
 <translation id="2604446170045642109">Ви можете вимкнути темну тему для сайтів у налаштуваннях.</translation>
 <translation id="2612676031748830579">Номер картки</translation>
 <translation id="2625189173221582860">Пароль скопійовано</translation>
+<translation id="2642087927315268160">Нижній екран для входу закрито.</translation>
 <translation id="2645657967708199252">Завантаження через підключення <ph name="CONNECTION_TYPE" /> може бути повільнішим</translation>
 <translation id="2647434099613338025">Додати мову</translation>
 <translation id="2649068648233607930">Вашим веб-переглядачем керує <ph name="DOMAIN" /></translation>
@@ -289,11 +300,13 @@
 <translation id="2704606927547763573">Скопійов.</translation>
 <translation id="2707726405694321444">Оновити сторінку</translation>
 <translation id="271033894570825754">Новий</translation>
+<translation id="2711073837061989559">Пробні версії функцій</translation>
 <translation id="2718352093833049315">Лише у Wi-Fi</translation>
 <translation id="2718846868787000099">Сайти, які ви відвідуєте, можуть переглядати ваші налаштування, щоб показувати контент вибраними мовами</translation>
 <translation id="2723001399770238859">аудіо</translation>
 <translation id="2732063072010454421">Покращений голосовий пошук</translation>
 <translation id="2739256783402597439">2G</translation>
+<translation id="2746842245914314523">Дізнатися більше про ці функції можна в налаштуваннях Chrome. Коли використовуються пробні версії цих нових функцій, конфіденційність взаємодії із сайтами може не покращитися.</translation>
 <translation id="2760989362628427051">Використовувати темну тему, якщо на пристрої ввімкнено темну тему або режим енергозбереження</translation>
 <translation id="2762000892062317888">щойно</translation>
 <translation id="276969039800130567">Ви ввійшли як <ph name="USER_EMAIL_ADDRESS" />.</translation>
@@ -362,6 +375,7 @@
 <translation id="3037177537145227281">Ціна відстежується</translation>
 <translation id="3037517125981011456">Показувати сповіщення для входу в Chrome</translation>
 <translation id="3046945242843292318">Переходьте на цей сайт швидше</translation>
+<translation id="3055113921564083271">Вилучені вами інтереси</translation>
 <translation id="3055259925215945098">Закладку переміщено</translation>
 <translation id="3055841435094910999">Інформація про ваше використання Chrome надсилається в Google, але не пов’язується з вами\n\nЯкщо в Chrome виникає збій, відомості про нього можуть містити особисту інформацію\n\nЯкщо ви ввімкнете синхронізацію, показники також можуть містити дані про відвідані URL-адреси</translation>
 <translation id="3060635849835183725">{BOOKMARKS_COUNT,plural, =1{<ph name="BOOKMARKS_COUNT_ONE" /> закладка}one{<ph name="BOOKMARKS_COUNT_MANY" /> закладка}few{<ph name="BOOKMARKS_COUNT_MANY" /> закладки}many{<ph name="BOOKMARKS_COUNT_MANY" /> закладок}other{<ph name="BOOKMARKS_COUNT_MANY" /> закладки}}</translation>
@@ -378,6 +392,7 @@
 <translation id="3166827708714933426">Комбінації клавіш для роботи з вкладками та вікнами</translation>
 <translation id="316694332262407393">Chrome уже запущено.</translation>
 <translation id="3169472444629675720">Рекомендації</translation>
+<translation id="3187472288455401631">Оцінка ефективності реклами</translation>
 <translation id="3207960819495026254">Створено закладку</translation>
 <translation id="3208584281581115441">Перевірити</translation>
 <translation id="3211426585530211793">Елемент "<ph name="ITEM_TITLE" />" видалено</translation>
@@ -408,6 +423,7 @@
 <translation id="3290991969712132877">Щоб швидше переходити на цю сторінку, додайте її на головний екран через кнопку "Більше опцій"</translation>
 <translation id="3297344142967351106">Голосова допомога</translation>
 <translation id="3303414029551471755">Завантажити вміст?</translation>
+<translation id="3321367458490630980">Інтерес додано</translation>
 <translation id="3334729583274622784">Змінити розширення файлу?</translation>
 <translation id="3341262203274374114">Не вдалося скасувати підписку. Сталася помилка.</translation>
 <translation id="3359667936385849800">Використовувати поточного постачальника послуг</translation>
@@ -429,8 +445,10 @@
 <translation id="3444179773590444986">Надіслати відгук про темну тему для сайтів?</translation>
 <translation id="3469665409713263828">{FILE_COUNT,plural, =1{Заплановано 1 завантаження}one{Заплановано # завантаження}few{Заплановано # завантаження}many{Заплановано # завантажень}other{Заплановано # завантаження}}</translation>
 <translation id="3474624961160222204">Продовжити як <ph name="NAME" /></translation>
+<translation id="3475207952017699209">Про персоналізовану рекламу</translation>
 <translation id="3478363558367712427">Ви можете вибрати пошукову систему</translation>
 <translation id="3493531032208478708"><ph name="BEGIN_LINK" />Докладніше<ph name="END_LINK" /> про рекомендований контент</translation>
+<translation id="3495219333887281978">Нижній екран для входу відкрито на половину висоти.</translation>
 <translation id="3499246418971111862">chrome_qrcode_<ph name="CURRENT_TIMESTAMP_MS" /></translation>
 <translation id="3502647154914451322">Використовуючи Chrome, ви приймаєте <ph name="BEGIN_TOS_LINK" />Загальні положення та умови Google<ph name="END_TOS_LINK" /> і <ph name="BEGIN_ATOS_LINK" />Додаткові умови використання Google Chrome та ОС Chrome<ph name="END_ATOS_LINK" />.</translation>
 <translation id="3507132249039706973">Стандартний захист увімкнено</translation>
@@ -449,6 +467,7 @@
 <translation id="3568688522516854065">Щоб мати доступ до вкладок з інших пристроїв, увійдіть в обліковий запис і ввімкніть синхронізацію</translation>
 <translation id="357465026686164600">Телефон як ключ безпеки</translation>
 <translation id="3577473026931028326">Сталася помилка. Повторіть спробу.</translation>
+<translation id="3578874072190212775">Допоможіть сайтам боротись із шахрайством і відрізняти ботів від людей</translation>
 <translation id="3587482841069643663">Все</translation>
 <translation id="3587596251841506391">Покращувати безпеку в Інтернеті</translation>
 <translation id="3602290021589620013">Попередній перегляд</translation>
@@ -490,6 +509,7 @@
 <translation id="3856096718352044181">Підтвердьте, що цей постачальник активний, або повторіть спробу пізніше</translation>
 <translation id="3858860766373142691">Назва</translation>
 <translation id="3861633093716975811">Популярні відео</translation>
+<translation id="3862592757180800623">Ви можете будь-коли змінити свій вибір у налаштуваннях Chrome. Коли використовуються пробні версії цих нових функцій, конфіденційність взаємодії із сайтами може не покращитися.</translation>
 <translation id="3892148308691398805">Копіювати текст</translation>
 <translation id="3894427358181296146">Додати папку</translation>
 <translation id="3899682235662194879">Закрити всі анонімні вкладки</translation>
@@ -498,6 +518,7 @@
 <translation id="3924911262913579434"><ph name="SAFE_BROWSING_MODE" /> увімкнено</translation>
 <translation id="3927692899758076493">Sans Serif</translation>
 <translation id="3928666092801078803">Об’єднати мої дані</translation>
+<translation id="3932390316856284148">Нижній екран для входу відкрито на всю висоту.</translation>
 <translation id="3934366560681368531">"</translation>
 <translation id="393697183122708255">Голосовий пошук вимкнено</translation>
 <translation id="395377504920307820">Використовувати без облікового запису</translation>
@@ -509,6 +530,7 @@
 <translation id="3969863827134279083">Перемістити курсор угору</translation>
 <translation id="397583555483684758">Синхронізація перестала працювати</translation>
 <translation id="3976396876660209797">Вилучити й знову створити цей ярлик</translation>
+<translation id="3981902534690264083">Рекламодавці можуть оцінити ефективність своїх оголошень</translation>
 <translation id="3985215325736559418">Завантажити файл "<ph name="FILE_NAME" />" повторно?</translation>
 <translation id="3987993985790029246">Копіювати</translation>
 <translation id="4000212216660919741">Дім у режимі офлайн</translation>
@@ -526,6 +548,7 @@
 <translation id="4096227151372679484">Вікно зберігання закладки, відкрите на половину висоти</translation>
 <translation id="4099578267706723511">Допоможіть покращити Chrome, надсилаючи статистику та звіти про збої в Google.</translation>
 <translation id="410351446219883937">Автовідтворення</translation>
+<translation id="4106587138345390261">Chrome досліджує нові функції, з якими сайти могли б працювати як завжди, але використовувати менше вашої інформації</translation>
 <translation id="4108314971463891922">Підписатися</translation>
 <translation id="4108998448622696017">Виявляє небезпечні події та повідомляє про них.</translation>
 <translation id="4116038641877404294">Завантажуйте сторінки, щоб переглядати їх офлайн</translation>
@@ -546,6 +569,7 @@
 <translation id="4248098802131000011">Захистіть свої паролі від порушень безпеки даних та інших проблем із безпекою</translation>
 <translation id="4250229828105606438">Знімок екрана</translation>
 <translation id="4256782883801055595">Ліцензії ПЗ з відкритим кодом</translation>
+<translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Які дані використовуються<ph name="END_BOLD" />. Ваша історія веб-перегляду – перелік сайтів, які ви відвідали через Chrome на цьому пристрої.</translation>
 <translation id="4263656433980196874">Інтерфейс надання згоди на голосовий пошук через Асистента відкрито на всю висоту</translation>
 <translation id="4269820728363426813">Копіювати адресу посилання</translation>
 <translation id="4290281343757112331">Завантажити пізніше?</translation>
@@ -556,6 +580,7 @@
 <translation id="4307992518367153382">Основні</translation>
 <translation id="4320177379694898372">Немає з’єднання з Інтернетом</translation>
 <translation id="4321739720395210191">Не вдається відкрити камеру. Перезапустіть пристрій і повторіть спробу.</translation>
+<translation id="4324158606177867698">Тут з’являтимуться вилучені вами інтереси</translation>
 <translation id="433213510553688132">Додавання до підписок…</translation>
 <translation id="4335835283689002019">Безпечний перегляд вимкнено</translation>
 <translation id="4351244548802238354">Закрити діалогове вікно</translation>
@@ -643,6 +668,7 @@
 <translation id="4807098396393229769">Ім'я на картці</translation>
 <translation id="481574578487123132">Зв’язані пристрої</translation>
 <translation id="4818017973810341238">Не вдалося підтвердити Digital Asset Links на сторінці <ph name="VIOLATED_URL" /></translation>
+<translation id="4826163340425232009">Нижній екран для входу.</translation>
 <translation id="4831037795716408498">Як завантажити контент</translation>
 <translation id="4834007576107377210">Перегляньте вказівки пошукової системи щодо того, як видалити історію пошуку (якщо вона є)</translation>
 <translation id="4834250788637067901">Способи оплати, пропозиції й адреси з Google Pay</translation>
@@ -697,6 +723,7 @@
 <translation id="5091199029769593641">Незабаром, відкривши нову вкладку, ви будете бачити історії із сайту <ph name="SITE_NAME" />. Сайти, на які ви підписалися, зберігаються в обліковому записі Google. Керувати ними можна в налаштуваннях рекомендацій.</translation>
 <translation id="5091249083535528968">Розширені дані про використання</translation>
 <translation id="509429900233858213">Сталася помилка.</translation>
+<translation id="5098190077610408701">Додати інтерес?</translation>
 <translation id="5102401324271069229">Якщо сайт намагається викрасти ваш пароль або ви завантажуєте шкідливий файл, Chrome може надсилати в Безпечний перегляд URL-адреси, зокрема уривки контенту сторінки</translation>
 <translation id="510275257476243843">Залишилась 1 година</translation>
 <translation id="5115811374190515607">в <ph name="PRODUCT_NAME" /></translation>
@@ -776,6 +803,7 @@
 <translation id="5578795271662203820">Шукати зображення в <ph name="SEARCH_ENGINE" /></translation>
 <translation id="5581519193887989363">Ви можете будь-коли вибрати дані для синхронізації в <ph name="BEGIN_LINK1" />налаштуваннях<ph name="END_LINK1" />.</translation>
 <translation id="5590372121997663538">Запам’ятати цей комп’ютер</translation>
+<translation id="559871659088672663">Ця функція зараз перебуває на етапі розробки</translation>
 <translation id="5599455543593328020">Режим анонімного перегляду</translation>
 <translation id="5599941490345670218">Google Асистент може виконувати дії на різних веб-сайтах</translation>
 <translation id="5620163320393916465">Немає збережених паролів</translation>
@@ -870,6 +898,7 @@
 <translation id="6069177176307973611">Переглянути налаштування конфіденційності та безпеки</translation>
 <translation id="6070730414166672373">З’єднання з банком\u2026</translation>
 <translation id="6085886413119427067">Визначає, як безпечно підключатися до веб-сайтів</translation>
+<translation id="6091413777268123602">Завдяки пробним версіям функцій Privacy Sandbox сайти можуть працювати як завжди, але використовувати менше ваших даних. Для вас це означає покращену конфіденційність і менше міжсайтового відстеження. Ми додамо нові пробні версії, коли вони стануть доступними для тестування.</translation>
 <translation id="60923314841986378">Залишилося <ph name="HOURS" /> год</translation>
 <translation id="6095578583683628124">Якщо Google є вашою пошуковою системою за умовчанням, ви бачитимете кращі та доречніші за контекстом пропозиції</translation>
 <translation id="6108923351542677676">Виконується налаштування…</translation>
@@ -996,11 +1025,13 @@
 <translation id="671481426037969117">Вийшов час на таймері веб-сайту <ph name="FQDN" />. Завтра він знову запрацює.</translation>
 <translation id="6715020873764921614">Усе одно завантажити файл "<ph name="FILE_NAME" />" (<ph name="FILE_SIZE" />)?</translation>
 <translation id="6719634564325948108">Підключитися за допомогою QR-коду?</translation>
+<translation id="6737612727720318154">Натисніть "Дозволити" для інтересу чи сайту, якщо вважаєте, що пов’язані з ним оголошення можуть бути корисними</translation>
 <translation id="6738516213925468394">Ваші дані було зашифровано за допомогою <ph name="BEGIN_LINK" />парольної фрази для синхронізації<ph name="END_LINK" /> від <ph name="TIME" />. Введіть її, щоб почати синхронізацію.</translation>
 <translation id="6738867403308150051">Завантаження…</translation>
 <translation id="6751521182688001123">Швидко відкривайте нову вкладку. Щоб змінити функцію цієї кнопки, натисніть і втримуйте її.</translation>
 <translation id="6756507620369789050">Надіслати відгук</translation>
 <translation id="6767294960381293877">Список пристроїв, з якими можна ділитися вкладкою, відкрито на половину висоти.</translation>
+<translation id="6770042910635026163">Відвідувані вами сайти, що визначають ваші інтереси</translation>
 <translation id="6770602306803890733">Покращує захист усіх користувачів в Інтернеті</translation>
 <translation id="6783942555455976443">Зберегти цю сторінку на пізніше й отримати нагадування</translation>
 <translation id="6795633245022906657">Швидко відкривайте нову вкладку. Щоб змінити функцію цієї кнопки, перейдіть у налаштування.</translation>
@@ -1061,6 +1092,7 @@
 <translation id="7093803425429738190">Додати емоцію</translation>
 <translation id="7105047059074518658">Увійдіть, щоб простіше переглядати сторінки на всіх пристроях</translation>
 <translation id="7106762743910369165">Ваша організація керує веб-переглядачем</translation>
+<translation id="7130504491556983216">Коли ви переглядатимете веб-сторінки, тут з’являтимуться ваші інтереси</translation>
 <translation id="7138678301420049075">Інше</translation>
 <translation id="7143462160780459030">Не вдається зробити знімок екрана. Повторіть спробу.</translation>
 <translation id="7146622961999026732">Схоже, ці сайти й додатки є важливими для вас:</translation>
@@ -1095,6 +1127,7 @@
 <translation id="7339898014177206373">Нове вікно</translation>
 <translation id="7340958967809483333">Налаштування рекомендацій</translation>
 <translation id="7352339641508007922">Потягніть, щоб зробити довгий знімок екрана</translation>
+<translation id="7352531447904559593">Докладніше про персоналізацію реклами на основі даних веб-переглядача</translation>
 <translation id="7352651011704765696">Виникли проблеми</translation>
 <translation id="7352939065658542140">ВІДЕО</translation>
 <translation id="7353894246028566792">{NUM_SELECTED,plural, =1{Поділитись 1 вибраним елементом}one{Поділитися # вибраним елементом}few{Поділитися # вибраними елементами}many{Поділитися # вибраними елементами}other{Поділитися # вибраного елемента}}</translation>
@@ -1150,6 +1183,7 @@
 <translation id="7619072057915878432">Не вдалося завантажити файл <ph name="FILE_NAME" />. Помилка мережі.</translation>
 <translation id="7626032353295482388">Вітаємо у Chrome!</translation>
 <translation id="7630202231528827509">URL-адреса постачальника</translation>
+<translation id="7634280112532283638">Боротьба зі спамом і шахрайством</translation>
 <translation id="7638584964844754484">Неправильна парольна фраза</translation>
 <translation id="7641339528570811325">Очистити історію…</translation>
 <translation id="7646772052135772216">Синхронізація паролів не працює</translation>
@@ -1209,6 +1243,7 @@
 <translation id="7942131818088350342">Застаріла версія <ph name="PRODUCT_NAME" />.</translation>
 <translation id="7944772052836377867">Для синхронізації потрібно підтвердити вашу особу</translation>
 <translation id="7947953824732555851">Прийняти й увійти</translation>
+<translation id="7959157064403954786">Спробуйте прозорішу персоналізацію реклами</translation>
 <translation id="7961015016161918242">Ніколи</translation>
 <translation id="7961926449547174351">Ви вимкнули доступ до пам'яті. Відкрийте налаштування, щоб увімкнути його.</translation>
 <translation id="7963646190083259054">Постачальник:</translation>
@@ -1288,6 +1323,7 @@
 <translation id="835847953965672673">Відновлено стільки завантажень: <ph name="NUMBER_OF_DOWNLOADS" /></translation>
 <translation id="8364299278605033898">Перегляньте популярні сайти</translation>
 <translation id="8368001212524806591">Відстеження цін</translation>
+<translation id="8383226135083126309"><ph name="BEGIN_BOLD" />Як ми використовуємо ці дані<ph name="END_BOLD" />. Chrome оцінює ваші інтереси. Коли ви пізніше відвідаєте якийсь сайт, він може запитати в Chrome про ваші інтереси, щоб персоналізувати для вас оголошення.</translation>
 <translation id="8387617938027387193">Підтвердьте свою особу</translation>
 <translation id="8393700583063109961">Надіслати повідомлення</translation>
 <translation id="8394720698884623075">Перевіряє URL-адреси за списком шкідливих сайтів, що зберігаються в Chrome</translation>
@@ -1325,6 +1361,7 @@
 <translation id="8505766168025405649">Щоб перевірити статус завантаження, перегляньте сповіщення</translation>
 <translation id="8514477925623180633">Експортувати паролі, збережені в Chrome</translation>
 <translation id="8516012719330875537">Редактор зображень</translation>
+<translation id="8516431725144212809">Ваші інтереси (за оцінкою Chrome)</translation>
 <translation id="8523928698583292556">Видалити збережений пароль</translation>
 <translation id="8540136935098276800">Введіть URL-адресу правильного формату</translation>
 <translation id="854522910157234410">Відкрити цю сторінку</translation>
@@ -1356,6 +1393,7 @@
 <translation id="8659579665266920523">Як шукати контент у веб-переглядачі Chrome</translation>
 <translation id="8662811608048051533">Ви вийдете з більшості сайтів.</translation>
 <translation id="8664979001105139458">Файл із такою назвою вже існує</translation>
+<translation id="8667760277771450375">Ми досліджуємо способи обмежити міжсайтове відстеження, водночас допомагаючи сайтам протидіяти рекламному спаму та шахрайству.</translation>
 <translation id="8676789164135894283">Підтвердження входу</translation>
 <translation id="867767487203716855">Наступне оновлення</translation>
 <translation id="8683039184091909753">зображення</translation>
@@ -1464,6 +1502,7 @@
 <translation id="962979164594783469">Установити цей додаток</translation>
 <translation id="96681097142096641">Переглянути спрощену сторінку?</translation>
 <translation id="968900484120156207">Відвідані сторінки з'являються тут</translation>
+<translation id="969573236494556070">Обмежте обмін даними між сайтами</translation>
 <translation id="970715775301869095">Залишилося <ph name="MINUTES" /> хв</translation>
 <translation id="981121421437150478">Офлайн</translation>
 <translation id="983192555821071799">Закрити всі вкладки</translation>
diff --git a/chrome/browser/ui/ash/keyboard_shortcut_viewer_metadata_unittest.cc b/chrome/browser/ui/ash/keyboard_shortcut_viewer_metadata_unittest.cc
index 394539f..cee6800 100644
--- a/chrome/browser/ui/ash/keyboard_shortcut_viewer_metadata_unittest.cc
+++ b/chrome/browser/ui/ash/keyboard_shortcut_viewer_metadata_unittest.cc
@@ -24,9 +24,9 @@
 namespace {
 
 // The total number of Ash accelerators.
-constexpr int kAshAcceleratorsTotalNum = 139;
+constexpr int kAshAcceleratorsTotalNum = 140;
 // The hash of Ash accelerators.
-constexpr char kAshAcceleratorsHash[] = "6d5bb57cc4f5f4f9eef3e4f8bed467e7";
+constexpr char kAshAcceleratorsHash[] = "ab09ae29f24039e2a32b1d42eaec507f";
 #if BUILDFLAG(GOOGLE_CHROME_BRANDING)
 // Internal builds add an extra accelerator for the Feedback app.
 // The total number of Chrome accelerators (available on Chrome OS).
diff --git a/chrome/browser/ui/cookie_controls/cookie_controls_controller_unittest.cc b/chrome/browser/ui/cookie_controls/cookie_controls_controller_unittest.cc
index 25da852..5adacf0 100644
--- a/chrome/browser/ui/cookie_controls/cookie_controls_controller_unittest.cc
+++ b/chrome/browser/ui/cookie_controls/cookie_controls_controller_unittest.cc
@@ -22,6 +22,9 @@
 
 namespace {
 
+using StorageType =
+    content_settings::mojom::ContentSettingsManager::StorageType;
+
 class MockCookieControlsView : public content_settings::CookieControlsView {
  public:
   MOCK_METHOD4(OnStatusChanged,
@@ -127,8 +130,9 @@
 
   // Accessing cookies should be notified.
   EXPECT_CALL(*mock(), OnCookiesCountChanged(1, 0));
-  page_specific_content_settings()->OnWebDatabaseAccessed(
-      GURL("https://example.com"), /*blocked=*/false);
+  page_specific_content_settings()->OnStorageAccessed(
+      StorageType::DATABASE, GURL("https://example.com"),
+      /*blocked_by_policy=*/false);
   testing::Mock::VerifyAndClearExpectations(mock());
 
   // Manually trigger a full update to check that the cookie count changed.
@@ -140,8 +144,9 @@
 
   // Blocking cookies should update the blocked cookie count.
   EXPECT_CALL(*mock(), OnCookiesCountChanged(1, 1));
-  page_specific_content_settings()->OnWebDatabaseAccessed(
-      GURL("https://thirdparty.com"), /*blocked=*/true);
+  page_specific_content_settings()->OnStorageAccessed(
+      StorageType::DATABASE, GURL("https://thirdparty.com"),
+      /*blocked_by_policy=*/true);
   testing::Mock::VerifyAndClearExpectations(mock());
 
   // Manually trigger a full update to check that the cookie count changed.
diff --git a/chrome/browser/ui/passwords/manage_passwords_test.cc b/chrome/browser/ui/passwords/manage_passwords_test.cc
index 6e7fdc2e..7cd02fb6 100644
--- a/chrome/browser/ui/passwords/manage_passwords_test.cc
+++ b/chrome/browser/ui/passwords/manage_passwords_test.cc
@@ -218,11 +218,12 @@
           /*account_form_saver=*/nullptr),
       /*metrics_recorder=*/nullptr);
 
-  password_manager::InsecureCredential credential(
-      password_form_.signon_realm, password_form_.username_value, base::Time(),
-      password_manager::InsecureType::kLeaked,
-      password_manager::IsMuted(false));
-  fetcher_.set_insecure_credentials({credential});
+  insecure_credential_ = password_form_;
+  insecure_credential_.password_issues.insert(
+      {password_manager::InsecureType::kLeaked,
+       password_manager::InsecurityMetadata(base::Time(),
+                                            password_manager::IsMuted(false))});
+  fetcher_.set_insecure_credentials({&insecure_credential_});
 
   fetcher_.NotifyFetchCompleted();
 
diff --git a/chrome/browser/ui/passwords/manage_passwords_test.h b/chrome/browser/ui/passwords/manage_passwords_test.h
index 8a88c96..91677e5a 100644
--- a/chrome/browser/ui/passwords/manage_passwords_test.h
+++ b/chrome/browser/ui/passwords/manage_passwords_test.h
@@ -79,6 +79,7 @@
   std::unique_ptr<password_manager::PasswordFormManager> CreateFormManager();
 
   password_manager::PasswordForm password_form_;
+  password_manager::PasswordForm insecure_credential_;
   base::HistogramTester histogram_tester_;
   password_manager::StubPasswordManagerClient client_;
   password_manager::StubPasswordManagerDriver driver_;
diff --git a/chrome/browser/ui/passwords/manage_passwords_ui_controller_unittest.cc b/chrome/browser/ui/passwords/manage_passwords_ui_controller_unittest.cc
index b594c7d..a581bc2 100644
--- a/chrome/browser/ui/passwords/manage_passwords_ui_controller_unittest.cc
+++ b/chrome/browser/ui/passwords/manage_passwords_ui_controller_unittest.cc
@@ -49,7 +49,6 @@
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
-using password_manager::InsecureCredential;
 using password_manager::MockPasswordFormManagerForUI;
 using password_manager::MockPasswordStoreInterface;
 using password_manager::PasswordForm;
@@ -211,11 +210,11 @@
   return form;
 }
 
-InsecureCredential CreateInsecureCredential(const PasswordForm& form) {
-  return InsecureCredential(form.signon_realm, form.username_value,
-                            base::Time(),
-                            password_manager::InsecureType::kLeaked,
-                            password_manager::IsMuted(false));
+password_manager::PasswordForm CreateInsecureCredential(PasswordForm form) {
+  form.password_issues.insert(
+      {InsecureType::kLeaked,
+       InsecurityMetadata(base::Time(), password_manager::IsMuted(false))});
+  return form;
 }
 
 }  // namespace
@@ -256,6 +255,7 @@
   PasswordForm test_local_form_;
   PasswordForm test_federated_form_;
   PasswordForm submitted_form_;
+  std::vector<const PasswordForm*> insecure_credentials_;
   CredentialManagementDialogPromptMock dialog_prompt_;
 };
 
@@ -275,8 +275,6 @@
   test_local_form_.username_element = u"username_element";
   test_local_form_.password_value = u"12345";
   test_local_form_.password_element = u"password_element";
-  test_local_form_.password_issues =
-      base::flat_map<InsecureType, InsecurityMetadata>();
 
   test_federated_form_.url = GURL("http://example.com/login");
   test_federated_form_.signon_realm =
@@ -284,11 +282,6 @@
   test_federated_form_.username_value = u"username";
   test_federated_form_.federation_origin =
       url::Origin::Create(GURL("https://federation.test/"));
-  // TODO(crbug.com/1223022): Once all places that operate changes on forms
-  // via UpdateLogin properly set |password_issues|, setting them to an empty
-  // map should be part of the default constructor.
-  test_federated_form_.password_issues =
-      base::flat_map<InsecureType, InsecurityMetadata>();
 
   submitted_form_ = test_local_form_;
   submitted_form_.username_value = u"submitted_username";
@@ -336,7 +329,7 @@
           Return(base::span<const password_manager::InteractionsStats>()));
   EXPECT_CALL(*form_manager, GetInsecureCredentials())
       .Times(AtMost(1))
-      .WillOnce(Return(base::span<const InsecureCredential>()));
+      .WillOnce(ReturnRef(insecure_credentials_));
   EXPECT_CALL(*form_manager, GetPendingCredentials())
       .WillRepeatedly(ReturnRef(submitted_form_));
   EXPECT_CALL(*form_manager, GetMetricsRecorder())
@@ -1574,12 +1567,12 @@
   controller()->OnPasswordSubmitted(std::move(test_form_manager));
 
   EXPECT_CALL(*test_form_manager_raw, Save());
-  std::vector<InsecureCredential> saved = {
-      CreateInsecureCredential(test_local_form())};
+  PasswordForm credential = CreateInsecureCredential(test_local_form());
+  std::vector<const PasswordForm*> saved = {&credential};
   // Pretend that the current credential was insecure but with the updated
   // password not anymore.
   EXPECT_CALL(*test_form_manager_raw, GetInsecureCredentials())
-      .WillOnce(Return(saved));
+      .WillOnce(ReturnRef(saved));
   base::WeakPtr<password_manager::PasswordStoreConsumer> post_save_helper;
 
   EXPECT_CALL(*client().GetProfilePasswordStore(), GetAutofillableLogins)
@@ -1617,10 +1610,10 @@
 
   EXPECT_CALL(*test_form_manager_raw, Save());
   // Pretend that the current credential was insecure.
-  std::vector<InsecureCredential> saved = {
-      CreateInsecureCredential(test_local_form())};
+  PasswordForm credential = CreateInsecureCredential(test_local_form());
+  std::vector<const PasswordForm*> saved = {&credential};
   EXPECT_CALL(*test_form_manager_raw, GetInsecureCredentials())
-      .WillOnce(Return(saved));
+      .WillOnce(ReturnRef(saved));
 
   base::WeakPtr<password_manager::PasswordStoreConsumer> post_save_helper;
 
@@ -1666,11 +1659,11 @@
   controller()->OnPasswordSubmitted(std::move(test_form_manager));
 
   EXPECT_CALL(*test_form_manager_raw, Save());
-  std::vector<InsecureCredential> saved = {
-      CreateInsecureCredential(test_local_form())};
+  PasswordForm credential = CreateInsecureCredential(test_local_form());
+  std::vector<const PasswordForm*> saved = {&credential};
   // Pretend that the current credential was insecure.
   EXPECT_CALL(*test_form_manager_raw, GetInsecureCredentials())
-      .WillOnce(Return(saved));
+      .WillOnce(ReturnRef(saved));
   controller()->SavePassword(submitted_form().username_value,
                              submitted_form().password_value);
   // The sign-in promo bubble stays open, the warning isn't shown.
diff --git a/chrome/browser/ui/toolbar/media_router_contextual_menu.cc b/chrome/browser/ui/toolbar/media_router_contextual_menu.cc
index 874ed545..ff2bcd56 100644
--- a/chrome/browser/ui/toolbar/media_router_contextual_menu.cc
+++ b/chrome/browser/ui/toolbar/media_router_contextual_menu.cc
@@ -67,7 +67,7 @@
     menu_model->SetIcon(
         menu_model->GetIndexOfCommandId(IDC_MEDIA_ROUTER_SHOWN_BY_POLICY),
         ui::ImageModel::FromVectorIcon(vector_icons::kBusinessIcon,
-                                       gfx::kChromeIconGrey, 16));
+                                       ui::kColorIcon, 16));
   } else {
     menu_model->AddCheckItemWithStringId(
         IDC_MEDIA_ROUTER_ALWAYS_SHOW_TOOLBAR_ACTION,
diff --git a/chrome/browser/ui/ui_features.cc b/chrome/browser/ui/ui_features.cc
index 1124fd3..271311a 100644
--- a/chrome/browser/ui/ui_features.cc
+++ b/chrome/browser/ui/ui_features.cc
@@ -57,6 +57,11 @@
                                       base::FEATURE_ENABLED_BY_DEFAULT};
 #endif
 
+// Enables displaying the submenu to open a link with a different profile
+// even if there is no other profile opened in a separate window
+const base::Feature kDisplayOpenLinkAsProfile{
+    "DisplayOpenLinkAsProfile", base::FEATURE_DISABLED_BY_DEFAULT};
+
 // Enables showing the EV certificate details in the Page Info bubble.
 const base::Feature kEvDetailsInPageInfo{"EvDetailsInPageInfo",
                                          base::FEATURE_ENABLED_BY_DEFAULT};
diff --git a/chrome/browser/ui/ui_features.h b/chrome/browser/ui/ui_features.h
index 0c31a0e..4dd12c3 100644
--- a/chrome/browser/ui/ui_features.h
+++ b/chrome/browser/ui/ui_features.h
@@ -43,6 +43,8 @@
 extern const base::Feature kAccessCodeCastUI;
 #endif
 
+extern const base::Feature kDisplayOpenLinkAsProfile;
+
 extern const base::Feature kEvDetailsInPageInfo;
 
 extern const base::Feature kExtensionsMenuAccessControl;
diff --git a/chrome/browser/ui/views/collected_cookies_views.cc b/chrome/browser/ui/views/collected_cookies_views.cc
index a5d4a51..1168ef91 100644
--- a/chrome/browser/ui/views/collected_cookies_views.cc
+++ b/chrome/browser/ui/views/collected_cookies_views.cc
@@ -241,8 +241,8 @@
   METADATA_HEADER(InfobarView);
   InfobarView() {
     info_image_ = AddChildView(std::make_unique<views::ImageView>());
-    info_image_->SetImage(gfx::CreateVectorIcon(vector_icons::kInfoOutlineIcon,
-                                                16, gfx::kChromeIconGrey));
+    info_image_->SetImage(ui::ImageModel::FromVectorIcon(
+        vector_icons::kInfoOutlineIcon, ui::kColorIcon, 16));
     label_ = AddChildView(std::make_unique<views::Label>());
 
     const int vertical_distance =
diff --git a/chrome/browser/ui/views/desktop_capture/desktop_media_picker_views.cc b/chrome/browser/ui/views/desktop_capture/desktop_media_picker_views.cc
index 2bb1803..aa89d54 100644
--- a/chrome/browser/ui/views/desktop_capture/desktop_media_picker_views.cc
+++ b/chrome/browser/ui/views/desktop_capture/desktop_media_picker_views.cc
@@ -214,8 +214,8 @@
 // the picker choices may have been restricted.
 std::unique_ptr<views::View> CreatePolicyRestrictedView() {
   auto icon = std::make_unique<views::ImageView>();
-  icon->SetImage(gfx::CreateVectorIcon(gfx::IconDescription(
-      vector_icons::kBusinessIcon, 18, gfx::kChromeIconGrey)));
+  icon->SetImage(ui::ImageModel::FromVectorIcon(vector_icons::kBusinessIcon,
+                                                ui::kColorIcon, 18));
 
   auto policy_label = std::make_unique<views::Label>();
   policy_label->SetMultiLine(true);
diff --git a/chrome/browser/ui/views/device_chooser_content_view.cc b/chrome/browser/ui/views/device_chooser_content_view.cc
index 5a1dc8b..7edd977 100644
--- a/chrome/browser/ui/views/device_chooser_content_view.cc
+++ b/chrome/browser/ui/views/device_chooser_content_view.cc
@@ -173,7 +173,7 @@
 
   if (chooser_controller_->IsConnected(row)) {
     return ui::ImageModel::FromVectorIcon(vector_icons::kBluetoothConnectedIcon,
-                                          gfx::kChromeIconGrey,
+                                          ui::kColorIcon,
                                           TableModel::kIconSize);
   }
 
diff --git a/chrome/browser/ui/views/media_router/cast_dialog_access_code_cast_button.cc b/chrome/browser/ui/views/media_router/cast_dialog_access_code_cast_button.cc
index 3ab6e9a..325c4f5 100644
--- a/chrome/browser/ui/views/media_router/cast_dialog_access_code_cast_button.cc
+++ b/chrome/browser/ui/views/media_router/cast_dialog_access_code_cast_button.cc
@@ -22,23 +22,14 @@
 
 namespace {
 
-std::unique_ptr<views::ImageView> CreatePrimaryIconView(
-    const gfx::ImageSkia& image) {
+std::unique_ptr<views::ImageView> CreatePrimaryIconView() {
   auto icon_view = std::make_unique<views::ImageView>();
-  icon_view->SetImage(image);
+  icon_view->SetImage(ui::ImageModel::FromVectorIcon(
+      vector_icons::kQrCodeIcon, ui::kColorIcon, kPrimaryIconSize));
   icon_view->SetBorder(views::CreateEmptyBorder(kPrimaryIconBorder));
   return icon_view;
 }
 
-std::unique_ptr<views::View> CreatePrimaryIcon() {
-  const gfx::VectorIcon& icon = vector_icons::kQrCodeIcon;
-
-  auto image =
-      gfx::CreateVectorIcon(icon, kPrimaryIconSize, gfx::kChromeIconGrey);
-
-  return CreatePrimaryIconView(image);
-}
-
 // TODO(b/202529859): Change text to match final UX design
 std::u16string CreateText() {
   return l10n_util::GetStringUTF16(IDS_ACCESS_CODE_CAST_CONNECT);
@@ -49,7 +40,7 @@
 CastDialogAccessCodeCastButton::CastDialogAccessCodeCastButton(
     PressedCallback callback)
     : HoverButton(std::move(callback),
-                  CreatePrimaryIcon(),
+                  CreatePrimaryIconView(),
                   CreateText(),
                   /** button subtitle */ std::u16string(),
                   /** secondary_icon_view */ nullptr) {}
diff --git a/chrome/browser/ui/views/media_router/cast_dialog_sink_button.cc b/chrome/browser/ui/views/media_router/cast_dialog_sink_button.cc
index db9a729..bbcfd10 100644
--- a/chrome/browser/ui/views/media_router/cast_dialog_sink_button.cc
+++ b/chrome/browser/ui/views/media_router/cast_dialog_sink_button.cc
@@ -53,18 +53,19 @@
 
 namespace {
 
-gfx::ImageSkia CreateSinkIcon(SinkIconType icon_type, bool enabled = true) {
-  SkColor icon_color = enabled ? gfx::kChromeIconGrey : gfx::kGoogleGrey500;
-  return gfx::CreateVectorIcon(*CastDialogSinkButton::GetVectorIcon(icon_type),
-                               kPrimaryIconSize, icon_color);
+ui::ImageModel CreateSinkIcon(SinkIconType icon_type, bool enabled = true) {
+  ui::ColorId icon_color = enabled ? ui::kColorIcon : ui::kColorIconDisabled;
+  return ui::ImageModel::FromVectorIcon(
+      *CastDialogSinkButton::GetVectorIcon(icon_type), icon_color,
+      kPrimaryIconSize);
 }
 
-gfx::ImageSkia CreateDisabledSinkIcon(SinkIconType icon_type) {
+ui::ImageModel CreateDisabledSinkIcon(SinkIconType icon_type) {
   return CreateSinkIcon(icon_type, false);
 }
 
 std::unique_ptr<views::ImageView> CreatePrimaryIconView(
-    const gfx::ImageSkia& image) {
+    const ui::ImageModel& image) {
   auto icon_view = std::make_unique<views::ImageView>();
   icon_view->SetImage(image);
   icon_view->SetBorder(views::CreateEmptyBorder(kPrimaryIconBorder));
@@ -74,8 +75,8 @@
 std::unique_ptr<views::View> CreatePrimaryIconForSink(const UIMediaSink& sink) {
   // The stop button has the highest priority, and the issue icon comes second.
   if (sink.state == UIMediaSinkState::CONNECTED) {
-    return CreatePrimaryIconView(gfx::CreateVectorIcon(
-        kGenericStopIcon, kPrimaryIconSize, gfx::kGoogleBlue500));
+    return CreatePrimaryIconView(ui::ImageModel::FromVectorIcon(
+        kGenericStopIcon, ui::kColorAccent, kPrimaryIconSize));
   } else if (sink.issue) {
     auto icon = std::make_unique<views::ImageView>(
         ui::ImageModel::FromVectorIcon(::vector_icons::kInfoOutlineIcon,
diff --git a/chrome/browser/ui/views/profiles/incognito_menu_view.cc b/chrome/browser/ui/views/profiles/incognito_menu_view.cc
index 98617c97..9c0ed63b 100644
--- a/chrome/browser/ui/views/profiles/incognito_menu_view.cc
+++ b/chrome/browser/ui/views/profiles/incognito_menu_view.cc
@@ -68,19 +68,6 @@
           : std::u16string(),
       header_art_icon);
 
-#if BUILDFLAG(IS_WIN)
-  if (ProfileShortcutManager::IsFeatureEnabled() &&
-      base::FeatureList::IsEnabled(
-          features::kEnableIncognitoShortcutOnDesktop)) {
-    // TODO(crbug.com/1113162): Add desktop shortcut icon to the menu entry.
-    AddFeatureButton(
-        l10n_util::GetStringUTF16(
-            IDS_INCOGNITO_PROFILE_MENU_CREATE_SHORTCUT_BUTTON),
-        base::BindRepeating(&IncognitoMenuView::OnCreateShortcutButtonClicked,
-                            base::Unretained(this)));
-  }
-#endif
-
   AddFeatureButton(
       l10n_util::GetStringUTF16(IDS_INCOGNITO_PROFILE_MENU_CLOSE_BUTTON_NEW),
       base::BindRepeating(&IncognitoMenuView::OnExitButtonClicked,
@@ -95,19 +82,6 @@
           browser()->profile()));
 }
 
-#if BUILDFLAG(IS_WIN)
-void IncognitoMenuView::OnCreateShortcutButtonClicked() {
-  RecordClick(ActionableItem::kCreateIncognitoShortcutButton);
-  ProfileShortcutManager* shortcut_manager =
-      g_browser_process->profile_manager()->profile_shortcut_manager();
-
-  DCHECK(shortcut_manager);
-  if (shortcut_manager)
-    shortcut_manager->CreateIncognitoProfileShortcut(
-        browser()->profile()->GetPath());
-}
-#endif
-
 void IncognitoMenuView::OnExitButtonClicked() {
   RecordClick(ActionableItem::kExitProfileButton);
   base::RecordAction(base::UserMetricsAction("IncognitoMenu_ExitClicked"));
diff --git a/chrome/browser/ui/views/profiles/incognito_menu_view.h b/chrome/browser/ui/views/profiles/incognito_menu_view.h
index a790fe9..c3a6428 100644
--- a/chrome/browser/ui/views/profiles/incognito_menu_view.h
+++ b/chrome/browser/ui/views/profiles/incognito_menu_view.h
@@ -38,9 +38,6 @@
   std::u16string GetAccessibleWindowTitle() const override;
 
   // Button actions.
-#if BUILDFLAG(IS_WIN)
-  void OnCreateShortcutButtonClicked();
-#endif
   void OnExitButtonClicked();
 };
 
diff --git a/chrome/browser/ui/views/profiles/profile_menu_view_base.h b/chrome/browser/ui/views/profiles/profile_menu_view_base.h
index c1a810ce..e621345a 100644
--- a/chrome/browser/ui/views/profiles/profile_menu_view_base.h
+++ b/chrome/browser/ui/views/profiles/profile_menu_view_base.h
@@ -65,8 +65,8 @@
     kAddNewProfileButton = 15,
     kSyncSettingsButton = 16,
     kEditProfileButton = 17,
-    kCreateIncognitoShortcutButton = 18,
-    kMaxValue = kCreateIncognitoShortcutButton,
+    // DEPRECATED: kCreateIncognitoShortcutButton = 18,
+    kMaxValue = kEditProfileButton,
   };
 
   struct EditButtonParams {
diff --git a/chrome/browser/ui/views/relaunch_notification/relaunch_recommended_bubble_view.cc b/chrome/browser/ui/views/relaunch_notification/relaunch_recommended_bubble_view.cc
index 11c011a3..9ea4cf2 100644
--- a/chrome/browser/ui/views/relaunch_notification/relaunch_recommended_bubble_view.cc
+++ b/chrome/browser/ui/views/relaunch_notification/relaunch_recommended_bubble_view.cc
@@ -88,7 +88,7 @@
 
 ui::ImageModel RelaunchRecommendedBubbleView::GetWindowIcon() {
   return ui::ImageModel::FromVectorIcon(
-      vector_icons::kBusinessIcon, gfx::kChromeIconGrey,
+      vector_icons::kBusinessIcon, ui::kColorIcon,
       ChromeLayoutProvider::Get()->GetDistanceMetric(
           DISTANCE_BUBBLE_HEADER_VECTOR_ICON_SIZE));
 }
diff --git a/chrome/browser/ui/views/relaunch_notification/relaunch_required_dialog_view.cc b/chrome/browser/ui/views/relaunch_notification/relaunch_required_dialog_view.cc
index e179b39..6b59c12 100644
--- a/chrome/browser/ui/views/relaunch_notification/relaunch_required_dialog_view.cc
+++ b/chrome/browser/ui/views/relaunch_notification/relaunch_required_dialog_view.cc
@@ -90,7 +90,7 @@
 
 ui::ImageModel RelaunchRequiredDialogView::GetWindowIcon() {
   return ui::ImageModel::FromVectorIcon(
-      vector_icons::kBusinessIcon, gfx::kChromeIconGrey,
+      vector_icons::kBusinessIcon, ui::kColorIcon,
       ChromeLayoutProvider::Get()->GetDistanceMetric(
           DISTANCE_BUBBLE_HEADER_VECTOR_ICON_SIZE));
 }
diff --git a/chrome/browser/ui/views/sad_tab_view.cc b/chrome/browser/ui/views/sad_tab_view.cc
index a75bbf3..7f787850 100644
--- a/chrome/browser/ui/views/sad_tab_view.cc
+++ b/chrome/browser/ui/views/sad_tab_view.cc
@@ -506,7 +506,7 @@
   // Crashed tab image.
   auto* image = container->AddChildView(std::make_unique<views::ImageView>());
   image->SetImage(
-      gfx::CreateVectorIcon(kCrashedTabIcon, 48, gfx::kChromeIconGrey));
+      ui::ImageModel::FromVectorIcon(kCrashedTabIcon, ui::kColorIcon, 48));
   const int unrelated_vertical_spacing =
       provider->GetDistanceMetric(views::DISTANCE_UNRELATED_CONTROL_VERTICAL);
   image->SetProperty(views::kMarginsKey,
diff --git a/chrome/browser/ui/views/safe_browsing/password_reuse_modal_warning_dialog.cc b/chrome/browser/ui/views/safe_browsing/password_reuse_modal_warning_dialog.cc
index 78efd83..0fb5c11 100644
--- a/chrome/browser/ui/views/safe_browsing/password_reuse_modal_warning_dialog.cc
+++ b/chrome/browser/ui/views/safe_browsing/password_reuse_modal_warning_dialog.cc
@@ -249,7 +249,7 @@
                  ReusedPasswordAccountType::SAVED_PASSWORD
              ? ui::ImageModel()
              : ui::ImageModel::FromVectorIcon(
-                   kSecurityIcon, gfx::kChromeIconGrey,
+                   kSecurityIcon, ui::kColorIcon,
                    ChromeLayoutProvider::Get()->GetDistanceMetric(
                        DISTANCE_BUBBLE_HEADER_VECTOR_ICON_SIZE));
 }
diff --git a/chrome/browser/ui/views/toolbar/toolbar_actions_bar_bubble_views.cc b/chrome/browser/ui/views/toolbar/toolbar_actions_bar_bubble_views.cc
index 8f817cb..2715fe4 100644
--- a/chrome/browser/ui/views/toolbar/toolbar_actions_bar_bubble_views.cc
+++ b/chrome/browser/ui/views/toolbar/toolbar_actions_bar_bubble_views.cc
@@ -83,9 +83,8 @@
   std::unique_ptr<views::ImageView> icon;
   if (extra_view_info->resource) {
     icon = std::make_unique<views::ImageView>();
-    icon->SetImage(gfx::CreateVectorIcon(*extra_view_info->resource,
-                                         kBubbleExtraIconSize,
-                                         gfx::kChromeIconGrey));
+    icon->SetImage(ui::ImageModel::FromVectorIcon(
+        *extra_view_info->resource, ui::kColorIcon, kBubbleExtraIconSize));
   }
 
   std::unique_ptr<views::View> extra_view;
diff --git a/chrome/browser/ui/web_applications/system_web_app_delegate_ui_impl.cc b/chrome/browser/ui/web_applications/system_web_app_delegate_ui_impl.cc
index bbd74ce5..9f658ea1 100644
--- a/chrome/browser/ui/web_applications/system_web_app_delegate_ui_impl.cc
+++ b/chrome/browser/ui/web_applications/system_web_app_delegate_ui_impl.cc
@@ -13,9 +13,8 @@
 #include "chrome/browser/ui/web_applications/system_web_app_ui_utils.h"
 #include "chrome/browser/ui/web_applications/web_app_launch_utils.h"
 #include "chrome/browser/web_applications/os_integration/os_integration_manager.h"
-#include "chrome/browser/web_applications/web_app_launch_queue.h"
 #include "chrome/browser/web_applications/web_app_provider.h"
-#include "chrome/browser/web_applications/web_app_tab_helper.h"
+#include "chrome/browser/web_applications/web_launch_params_helper.h"
 #include "content/public/browser/web_contents.h"
 #include "url/gurl.h"
 
@@ -47,12 +46,12 @@
   const bool reuse_existing_window =
       browser_type == Browser::TYPE_APP_POPUP || ShouldReuseExistingWindow();
 
-  bool started_new_navigation = false;
+  bool navigating = false;
   if (!browser) {
     browser = CreateWebApplicationWindow(
         profile, params.app_id, params.disposition, params.restore_id,
         kOmitFromSessionRestore, ShouldAllowResize(), ShouldAllowMaximize());
-    started_new_navigation = true;
+    navigating = true;
   } else if (!reuse_existing_window) {
     gfx::Rect initial_bounds = browser->window()->GetRestoredBounds();
     initial_bounds.Offset(20, 20);
@@ -60,7 +59,7 @@
         profile, params.app_id, params.disposition, params.restore_id,
         kOmitFromSessionRestore, ShouldAllowResize(), ShouldAllowMaximize(),
         initial_bounds);
-    started_new_navigation = true;
+    navigating = true;
   }
 
   // Navigate application window to application's |url| if necessary.
@@ -72,7 +71,7 @@
       GetType() == SystemAppType::HELP) {
     web_contents = NavigateWebApplicationWindow(
         browser, params.app_id, url, WindowOpenDisposition::CURRENT_TAB);
-    started_new_navigation = true;
+    navigating = true;
   }
 
   // Send launch files.
@@ -81,15 +80,11 @@
     base::FilePath launch_dir = GetLaunchDirectory(params);
 
     if (!launch_dir.empty() || !params.launch_files.empty()) {
-      WebAppLaunchParams launch_params;
-      launch_params.started_new_navigation = started_new_navigation;
-      launch_params.app_id = params.app_id;
-      launch_params.target_url = web_contents->GetURL();
-      launch_params.dir = std::move(launch_dir);
-      launch_params.paths = params.launch_files;
-      WebAppTabHelper::FromWebContents(web_contents)
-          ->EnsureLaunchQueue()
-          .Enqueue(std::move(launch_params));
+      WebLaunchParamsHelper::EnqueueLaunchParams(
+          web_contents, provider->registrar(), params.app_id,
+          /*await_navigation=*/navigating,
+          /*launch_url=*/web_contents->GetURL(), launch_dir,
+          params.launch_files);
     }
   }
 
diff --git a/chrome/browser/ui/web_applications/web_app_launch_handler_browsertest.cc b/chrome/browser/ui/web_applications/web_app_launch_handler_browsertest.cc
index e03036d..8e028fd0 100644
--- a/chrome/browser/ui/web_applications/web_app_launch_handler_browsertest.cc
+++ b/chrome/browser/ui/web_applications/web_app_launch_handler_browsertest.cc
@@ -2,7 +2,6 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "base/strings/strcat.h"
 #include "base/test/bind.h"
 #include "base/test/scoped_feature_list.h"
 #include "chrome/browser/ui/browser.h"
@@ -210,8 +209,9 @@
   EXPECT_EQ(AwaitNextLaunchParamsTargetUrl(browser_2), start_url.spec());
 }
 
+// TODO(crbug.com/1308334): Fix flakiness.
 IN_PROC_BROWSER_TEST_F(WebAppLaunchHandlerBrowserTest,
-                       RouteToExistingClientNavigateNever) {
+                       DISABLED_RouteToExistingClientNavigateNever) {
   AppId app_id = InstallTestWebApp(
       "/web_apps/"
       "get_manifest.html?route_to_existing_client_navigate_never.json");
@@ -279,115 +279,6 @@
   }
 }
 
-IN_PROC_BROWSER_TEST_F(WebAppLaunchHandlerBrowserTest,
-                       RouteToExistingClientNavigateNeverMultipleLaunches) {
-  AppId app_id = InstallTestWebApp(
-      "/web_apps/"
-      "get_manifest.html?route_to_existing_client_navigate_never.json");
-  EXPECT_EQ(GetLaunchHandler(app_id),
-            (LaunchHandler{RouteTo::kExistingClient,
-                           NavigateExistingClient::kNever}));
-
-  // Launch the app three times in quick succession.
-  Browser* browser_1 = LaunchWebAppBrowser(profile(), app_id);
-  Browser* browser_2 = LaunchWebAppBrowser(profile(), app_id);
-  Browser* browser_3 = LaunchWebAppBrowserAndWait(profile(), app_id);
-  EXPECT_EQ(browser_1, browser_2);
-  EXPECT_EQ(browser_2, browser_3);
-
-  // Check that all 3 LaunchParams got enqueued.
-  content::WebContents* web_contents =
-      browser_1->tab_strip_model()->GetActiveWebContents();
-  GURL start_url = embedded_test_server()->GetURL(
-      "/web_apps/basic.html?route_to=existing-client&navigate=never");
-  const char* script = R"(
-      new Promise(resolve => {
-        let remaining = 3;
-        let targetURLs = [];
-        window.launchQueue.setConsumer(launchParams => {
-          targetURLs.push(launchParams.targetURL);
-          if (--remaining == 0) {
-            resolve(targetURLs.join('|'));
-          }
-        });
-      });
-    )";
-  EXPECT_EQ(EvalJs(web_contents, script).ExtractString(),
-            base::StrCat({start_url.spec(), "|", start_url.spec(), "|",
-                          start_url.spec()}));
-}
-
-IN_PROC_BROWSER_TEST_F(WebAppLaunchHandlerBrowserTest,
-                       RouteToExistingClientNavigateAlwaysMultipleLaunches) {
-  AppId app_id = InstallTestWebApp(
-      "/web_apps/"
-      "get_manifest.html?route_to_existing_client_navigate_always.json");
-  EXPECT_EQ(GetLaunchHandler(app_id),
-            (LaunchHandler{RouteTo::kExistingClient,
-                           NavigateExistingClient::kAlways}));
-
-  // Launch the app three times in quick succession.
-  Browser* browser_1 = LaunchWebAppBrowser(profile(), app_id);
-  Browser* browser_2 = LaunchWebAppBrowser(profile(), app_id);
-  Browser* browser_3 = LaunchWebAppBrowserAndWait(profile(), app_id);
-  EXPECT_EQ(browser_1, browser_2);
-  EXPECT_EQ(browser_2, browser_3);
-
-  // Check that only the last LaunchParams made it through.
-  content::WebContents* web_contents =
-      browser_1->tab_strip_model()->GetActiveWebContents();
-  GURL start_url = embedded_test_server()->GetURL(
-      "/web_apps/basic.html?route_to=existing-client&navigate=always");
-  const char* script = R"(
-      new Promise(resolve => {
-        let targetURLs = [];
-        window.launchQueue.setConsumer(launchParams => {
-          targetURLs.push(launchParams.targetURL);
-          // Wait a tick to let any additional erroneous launchParams get added.
-          requestAnimationFrame(() => {
-            resolve(targetURLs.join('|'));
-          });
-        });
-      });
-    )";
-  EXPECT_EQ(EvalJs(web_contents, script).ExtractString(), start_url.spec());
-}
-
-IN_PROC_BROWSER_TEST_F(WebAppLaunchHandlerBrowserTest,
-                       LaunchNavigationInterruptedByOutOfScopeNavigation) {
-  AppId app_id =
-      InstallTestWebApp("/web_apps/get_manifest.html?route_to_new_client.json");
-  EXPECT_EQ(
-      GetLaunchHandler(app_id),
-      (LaunchHandler{RouteTo::kNewClient, NavigateExistingClient::kAlways}));
-
-  // Launch the web app and immediately navigate it out of scope during its
-  // initial navigation.
-  Browser* app_browser = LaunchWebAppBrowser(profile(), app_id);
-  GURL out_of_scope_url = embedded_test_server()->GetURL("/empty.html");
-  NavigateToURLAndWait(app_browser, out_of_scope_url);
-  content::WebContents* web_contents =
-      app_browser->tab_strip_model()->GetActiveWebContents();
-  EXPECT_EQ(web_contents->GetLastCommittedURL(), out_of_scope_url);
-
-  // Check that the launch params are not enqueued in the out of scope document.
-  GURL start_url = embedded_test_server()->GetURL(
-      "/web_apps/basic.html?route_to=existing-client&navigate=never");
-  const char* script = R"(
-      new Promise(resolve => {
-        let targetURLs = [];
-        window.launchQueue.setConsumer(launchParams => {
-          targetURLs.push(launchParams.targetURL);
-        });
-        // Wait a tick to let any erroneous launch params get added.
-        requestAnimationFrame(() => {
-          resolve(targetURLs.join('|'));
-        });
-      });
-    )";
-  EXPECT_EQ(EvalJs(web_contents, script).ExtractString(), "");
-}
-
 IN_PROC_BROWSER_TEST_F(WebAppLaunchHandlerBrowserTest, GlobalLaunchQueue) {
   AppId app_id =
       InstallTestWebApp("/web_apps/basic.html", /*await_metric=*/false);
diff --git a/chrome/browser/ui/web_applications/web_app_launch_process.cc b/chrome/browser/ui/web_applications/web_app_launch_process.cc
index b8437dd8..b738dbc 100644
--- a/chrome/browser/ui/web_applications/web_app_launch_process.cc
+++ b/chrome/browser/ui/web_applications/web_app_launch_process.cc
@@ -5,7 +5,6 @@
 #include "chrome/browser/ui/web_applications/web_app_launch_process.h"
 
 #include "base/files/file_path.h"
-#include "base/memory/values_equivalent.h"
 #include "base/metrics/histogram_macros.h"
 #include "build/build_config.h"
 #include "chrome/browser/apps/app_service/app_launch_params.h"
@@ -24,11 +23,11 @@
 #include "chrome/browser/ui/web_applications/web_app_launch_utils.h"
 #include "chrome/browser/web_applications/os_integration/os_integration_manager.h"
 #include "chrome/browser/web_applications/web_app.h"
-#include "chrome/browser/web_applications/web_app_launch_queue.h"
 #include "chrome/browser/web_applications/web_app_provider.h"
 #include "chrome/browser/web_applications/web_app_registrar.h"
 #include "chrome/browser/web_applications/web_app_sync_bridge.h"
 #include "chrome/browser/web_applications/web_app_tab_helper.h"
+#include "chrome/browser/web_applications/web_launch_params_helper.h"
 #include "components/services/app_service/public/cpp/intent_util.h"
 #include "components/site_engagement/content/site_engagement_service.h"
 #include "extensions/common/constants.h"
@@ -113,9 +112,8 @@
   if (!web_contents)
     return nullptr;
 
-  MaybeEnqueueWebLaunchParams(
-      launch_url, is_file_handling, web_contents,
-      /*started_new_navigation=*/navigate_result.did_navigate);
+  MaybeEnqueueWebLaunchParams(launch_url, is_file_handling, web_contents,
+                              navigate_result.did_navigate);
 
   RecordMetrics(params_.app_id, params_.container,
                 apps::GetAppLaunchSource(params_.launch_source), launch_url,
@@ -314,25 +312,13 @@
   content::WebContents* existing_tab = tab_strip->GetActiveWebContents();
   DCHECK(existing_tab);
   if (GetLaunchNavigateExistingClient() ==
-      LaunchHandler::NavigateExistingClient::kNever) {
-    if (base::ValuesEquivalent(WebAppTabHelper::FromWebContents(existing_tab)
-                                   ->EnsureLaunchQueue()
-                                   .GetPendingLaunchAppId(),
-                               &params_.app_id)) {
-      // This WebContents is already handling a launch for this app. It may
-      // currently be out of scope but the in progress app launch will put it
-      // back in scope. The new app launch params can be queued up to fire after
-      // the existing app launch completes.
-      return {.web_contents = existing_tab, .did_navigate = false};
-    }
-
-    if (provider_.registrar().IsUrlInAppScope(
-            existing_tab->GetLastCommittedURL(), params_.app_id)) {
-      // If the web contents is currently navigating then interrupt it. The
-      // current page is now being used for this app launch.
-      existing_tab->Stop();
-      return {.web_contents = existing_tab, .did_navigate = false};
-    }
+          LaunchHandler::NavigateExistingClient::kNever &&
+      provider_.registrar().IsUrlInAppScope(existing_tab->GetLastCommittedURL(),
+                                            params_.app_id)) {
+    // If the web contents is currently navigating then interrupt it. The
+    // current page is now being used for this app launch.
+    existing_tab->Stop();
+    return {.web_contents = existing_tab, .did_navigate = false};
   }
 
   const int tab_index = tab_strip->GetIndexOfWebContents(existing_tab);
@@ -356,17 +342,14 @@
     const GURL& launch_url,
     bool is_file_handling,
     content::WebContents* web_contents,
-    bool started_new_navigation) {
+    bool is_navigating) {
   if (is_file_handling || web_app_->launch_handler().has_value()) {
-    WebAppLaunchParams launch_params;
-    launch_params.started_new_navigation = started_new_navigation;
-    launch_params.app_id = web_app_->app_id();
-    launch_params.target_url = launch_url;
-    launch_params.paths =
-        is_file_handling ? params_.launch_files : std::vector<base::FilePath>();
-    WebAppTabHelper::FromWebContents(web_contents)
-        ->EnsureLaunchQueue()
-        .Enqueue(std::move(launch_params));
+    WebLaunchParamsHelper::EnqueueLaunchParams(
+        web_contents, provider_.registrar(), web_app_->app_id(),
+        /*await_navigation=*/is_navigating, launch_url,
+        /*launch_dir=*/{},
+        is_file_handling ? params_.launch_files
+                         : std::vector<base::FilePath>());
   }
 }
 
diff --git a/chrome/browser/ui/web_applications/web_app_launch_process.h b/chrome/browser/ui/web_applications/web_app_launch_process.h
index a2ebd07..ade53e3 100644
--- a/chrome/browser/ui/web_applications/web_app_launch_process.h
+++ b/chrome/browser/ui/web_applications/web_app_launch_process.h
@@ -66,7 +66,7 @@
   void MaybeEnqueueWebLaunchParams(const GURL& launch_url,
                                    bool is_file_handling,
                                    content::WebContents* web_contents,
-                                   bool started_new_navigation);
+                                   bool is_navigating);
 
   Profile& profile_;
   WebAppProvider& provider_;
diff --git a/chrome/browser/ui/webui/chromeos/edu_coexistence/edu_coexistence_login_handler_chromeos.cc b/chrome/browser/ui/webui/chromeos/edu_coexistence/edu_coexistence_login_handler_chromeos.cc
index e05ff6e..0f99b1e 100644
--- a/chrome/browser/ui/webui/chromeos/edu_coexistence/edu_coexistence_login_handler_chromeos.cc
+++ b/chrome/browser/ui/webui/chromeos/edu_coexistence/edu_coexistence_login_handler_chromeos.cc
@@ -153,7 +153,6 @@
 
   OAuth2AccessTokenManager::ScopeSet scopes;
   scopes.insert(GaiaConstants::kKidsSupervisionSetupChildOAuth2Scope);
-  scopes.insert(GaiaConstants::kKidManagementOAuth2Scope);
   scopes.insert(GaiaConstants::kAccountsReauthOAuth2Scope);
   scopes.insert(GaiaConstants::kAuditRecordingOAuth2Scope);
   scopes.insert(GaiaConstants::kClearCutOAuth2Scope);
diff --git a/chrome/browser/ui/webui/nearby_internals/quick_pair/quick_pair_handler.cc b/chrome/browser/ui/webui/nearby_internals/quick_pair/quick_pair_handler.cc
index 228565c6..2aa1ade 100644
--- a/chrome/browser/ui/webui/nearby_internals/quick_pair/quick_pair_handler.cc
+++ b/chrome/browser/ui/webui/nearby_internals/quick_pair/quick_pair_handler.cc
@@ -27,3739 +27,10 @@
 const char16_t kTestDeviceName[] = u"Pixel Buds";
 const char16_t kTestAppName[] = u"JBLTools";
 const char16_t kTestEmail[] = u"testemail@gmail.com";
-const char kImageBytes[] =
-    "89504E470D0A1A0A0000000D4948445200000200000002000806000000F478D4FA00002000"
-    "49444154789CECBD0BB064C9591EF8E73955F7DEBE7D6FBFBBE73DA3796934A391460F24C4"
-    "C80203A1100821198CC59A084BC0C2CA6083F12EE6E1085E8E70ACC3188CBDB026C2EB7D38"
-    "300E7040ACBDCBDADE65D7115E160C1890401A4642A3D7489A999EEE19754F3FEEBD55E7E4"
-    "C69727FF537F7DF567F59DF774D7F967AA6FD5A973F2E4C9CCCAEFFB1FF9A70C32C820830C"
-    "32C820830C32C820830C32C820830C32C820830C32C820830C32C820830C32C820D78484A1"
-    "1B67F2C8A71F5938F64A90BDC99E9C3C7E4A8E1F3B2693C99E88541224480C5D075622D206"
-    "912851421489E98B56EA5A24B69584364AAC1A69E2582A9C5D3512A5EDCA892195A512A348"
-    "5D0709C3C8D8974CA7533977EE9CECECECC8C73EF631F9E217BF285555C93BDFF94EF9E33F"
-    "FE6379ECB1C7E4F6DB6F4F45E1DCA79F7E5A3EFAD18FCAADB7DE2AEF7BDFFBE4F1C71F97A7"
-    "9E7A4A3EFFF9CFCB850B17248420A74E9D92A669E4E8D1A3F2C4134FC8E9D3A7E5E1871F96"
-    "37BEF18D72F2E4C974EE1BDEF00679DBDBDE263FF7733F270F3CF0402A17D77FCDD77C8DFC"
-    "D2BFF82579F7D7BD5B5EF39A7BE4B77EFBFF933BEFB853FECA07FE8ABCE3CFBD437EEAA77E"
-    "4AD6D7D7BB478BE519E0FBBEFFFBE4F38F7E5EBEEDDBBE2DDDE7D4C993B2BBBB27870E1FAA"
-    "DBD81C90180E44917589711C828C44C248A2D451225EA320A18E22E32ACA8684B01EAAB026"
-    "318EDA285508614D704D8C18BAA3FCAA519B1823465F15BB21588710AA1863A5D58C8226EA"
-    "3EC588D18A0392067C8C6DDBC6D804A9DAEE57105A09D2A41F86C8248A34019F833431CA5E"
-    "109986101A748D88EC8AC84E8C71D71C6B4208F8A1E0F3043FC5FCDAC9AFBDDC8A2451DA88"
-    "07AD729DA3B4D3368D8B909FA46D1B09FA7DDB76C7F11B6E83C4B6C9C5A55F76777DF7E052"
-    "872A959DDA20C4D47D692E90EEFBDC24FDFBEEBB7C7E3A3B4A8C6D7755B0BFFB285515E606"
-    "04C614C636EA8DF1D8B698536A3970E0801C3E7C58363636169EFC6A91304C7049460B4706"
-    "196490579460B2C2E48B497A6F6F2F918DDDDDDD74FCA9A79F92BDC9442E5DBA24E7CF9D4F"
-    "E0B0B9B999E6F1F5F50D397EFC449AA8BFEBBBBE7BEB969B6FB94E440E8BC8C918E3B62400"
-    "4F9F8F89C8D118E3560801AFCDEFFFEBDFBFB9B3BB73E0D4A953E3ADEDADF510AA03EBEBEB"
-    "EB93E9644362DC8C3160F61F772835C340404E4748DB7418C4541442672789CCF0A8933C21"
-    "6728EB802CF8F00A96AAA096C86E3E296A31516F163A461BF8F2D8C36686CB7C9D9E3B7F81"
-    "010B9C30094176A3C4CB12653748B82C215E1609200E2009BB51E47210B910253E1302FECA"
-    "D351E297DA18CF57512E89C83312E40C3056449E9410CEF5F708A17F6EEFD10719E4859481"
-    "000C32C82B540054172F5E94271E7F226962787FE38D37CAA14387E4C4891309F4EF7FEDFD"
-    "727073F3C4AD6F7EF37531C6571D3B76F4D51FF8C0076F585F5B3B1182DCF286071EB87E67"
-    "77F7C0B77FF083274308874020401E5412C8C479A8896D943BEFBA33697E105C93B4C92AC8"
-    "74D2B8D6A14E09974EFB152DB8D74DBB7213AA19EBD2DC6D3B6DB5336BC5744EB40C201DCE"
-    "901D66562B2D2B468B9D316BCF8BE02F5189C33C6D89B3B773158B7A7EAE6210598B4160CD"
-    "D80EB602F38FA24CA4273B1DC03799D8589B9B5C0A226742159E91101E0F317C2E4A3C1D42"
-    "7852247E3604F984487834883C8D3242B016BB81220CF2FC642000830CF20A100003CCAC00"
-    "5B98F2A1F1C3547FDD75D7CB2DB7DC225FFFEEAF9763C78EDD70EBADB7DEDBB6CDDD9B9B07"
-    "DF72E9D2A557BDFFFDEFBF633299DC16AA50ADAFADCB74DAC868542777C3CEEE6E32D98EEA"
-    "5A269349BA07C0DDE2D34C139F0135801E5605250621C36A9B494007A232D3D713A8C5994A"
-    "1F6764A0FB7F06849D097A76E3A0D745055BC9E01C53B933600E4A2D5CE9EAD119CCBBF3DB"
-    "39134308B3F7312E0227DA255866A2CFA09609E32EE981DF7E8EB3CF735604F3A7EDC9C7EC"
-    "B9628C9B22726B365ABC56C4D42313851002DC119F0E413E1543F55991F0275555FD8984F0"
-    "07B03484059633C820FB9381000C32C8CB200A4200FA64BE3F7F3EBD87667FF3CD3743CB5F"
-    "BBE9A69BDE72ECD8B1AFAAEBFAAD31C6D7C618EFC8AAAD4C9BA900F051CE68344AE401AE01"
-    "404D339DF626F236DD67DE9E1CCC9B04453DAECEB4EDE4744E606D4CE031EBF700A6746A77"
-    "61ABFFF418D869D8A2F7EEB5F5D07F5413BF85AE9E28E42F549B0FD92560956A992B79319E"
-    "4135F79E7B90A540CFE96E127AF53EC65961BDFF5C665C221A0B46777EC85C20F68694CEB7"
-    "3F232B6A41F0FCCE7D9C40883D89E9BBAA8D4A68304FDF2D12EFD68701110B127642081FAF"
-    "42F5875555FD41A8C37F0A21FCA13E91987E1B64104F060230C8202F9128009C3D7B3699F1"
-    "277B7B09F48F1F3F1E6E7BD56D771C3F76FCCEADADED07D7D6C65F359D4EDF361A8D360052"
-    "C9DF9FE7F136B6D954AE409D7DE2BD59B955EC4EA0D27DDF01696FEE572559187166E269C9"
-    "32A753675FBD9AEE2DE8F6C4C15E95C56AF585C2430FFD57904210A312090E7253C0EEDC09"
-    "71C63562A0BB2D062904329904A1788199B69E4CFD217F8E73D18BB62DFCCADB5AA8B93F1A"
-    "4B4C0A9B942E2624C4B011253E20511E08217C4722225575BAAEEB7F5785EA3F84207F14AA"
-    "EA3321C839EABC41064932108041067991051339347498F6BFF4A52FC95BDFFA5679ED6B5F"
-    "3B3A70F0E0D7DE71FBED7FE1E0D6D67B44E466350F37D30E4060860F06D0240359CC66F479"
-    "908E3253F6E34C938D315B0166E7CCF9FDB3DA19252CC402F4256BD4785E792239BA5CEDE2"
-    "71A6FA2E9411E7D8869EA680DB5307FDC6DC934D16F3652B96590262BF0CB25095C53BC579"
-    "9A31FBAED7FB17207AC60308F8D56AA12E83301F65DF7D1DE60A0AF63973DB69F482D0F573"
-    "E585201AB03F8BBDC83687A639D54CA71F90507D00C72B9C5B55BF578F46BF5CD7F5FF1424"
-    "9C8F6A89F139C8202B240301186490174302CCFB512E5FBE9C4CFC98BC8F1C3922F7DD77DF"
-    "D7DE75D79DDF1EA3BC6F3A9D6ED775D5FBE7ADA4CF2003BDDFBE03072C1913F3BDF125F765"
-    "28C0F7BE663D1E0D31C8D22B850486628F19B0EA357B13603F033113FC9711B8E578013285"
-    "F744C0980C2C485B9F796F66EFC1743E784F49C95CE482A9EFDC33F2A32E100E5B91608214"
-    "0D60078D87080688437F3F5DE6D78706CC962FFA036EDE6C62C84495DD0CA15F2E5887BA73"
-    "031862D02D0DC452C34CF472FBB74DF3D6C964F2D6BAAE7FB6AEEBFFA3AEEBFFA1AAAA7F3D"
-    "9804061908C02083BC80A24BF6A69369CAD98040BE5B6FB9F5D8A9EB4E7DF0F0E1C3DF3B1E"
-    "8FEF823500A02F49616B7A50EE00B64D80DFC69996EFBE7A8D7FE6AB5759B018F4044066A0"
-    "3907DA0520E803D8C2DC1AF30485F91673650703AE7D6C9FC618CCB4EA6E7DBA0542537F83"
-    "B1C0BA369B2CBAE0C3FEEC19D0CA7CD5674AED6CED7C35738ACF1ECBC42BCC69E7EA56992B"
-    "3FCEEEDBBB29E64D0C33DAA17101B09634B30AD93ADAEB4A644064AE5E330250A5B2A7619A"
-    "DAA44E9FABA4E9879C6740FFD375FD5D7B478CCBAA699AF74808EFA9ABEAE9F178FCCFEABA"
-    "FEC721844717C8DF202B210301186490174830319F3F772E4DC45555CBFDF7DFFFE6EDEDED"
-    "1F3D7AF4E85F44A01E22F32FEF5CEE23CA015031AFEF0769D0B5FE9DE6D6662DBF0B1454B3"
-    "BF4463C63751F6D180523B17F4172DDAF59AB37EDFC50BB4F32443CB25E2A1E0DCF99F6302"
-    "D5649DC8DFC1E2D1836FABC970B2BF5A3579BBD6DE46C5E717562DB0A543B55C5D4227734B"
-    "F3E87B6B35E8030DBBEFB1ACB1AB8B6AD59DB11F8178F84E032767A04B7FABB0E06EE813EE"
-    "F4F78FB3043FD299E0C3DC4B7A109FDD6B163711953DCD0703CC48CB74E66A48C05F755601"
-    "7D06FB9A5907BAEF3BCB40F7CC4DD31C6D9AE607EBAAFAC1D178FC4F47F5E8272484C786B9"
-    "60B5642000830CF23C44275904EAC1BF7FF32D37CB9BDEF4E6076FB8E1FA5F9428AFABEA2A"
-    "F9F2E10A501372A320DF34D2B49DD69F401E24C0D5F6E735FD6835520D76EB03BE83B128CC"
-    "08464F2CDA6C61C8F1019AE12D591E40089A76B642A12BA00773D198C1D8CEE1D33C00CE8B"
-    "0548E9B5EF19B05AD086C032E21D8F6D9C273114F15F2A6F76D2CCA2B1B0167FE69B982D7D"
-    "D4F7546FEF1EF32B0B722FF4FEFAAE7CCDA900B01E55752201203B782939A9549BAFE6FDFD"
-    "B69EBD3B24DDA895A6C9568ED069FF557AD5B9BCFC1E75B6A423AF2288792C363B3BDF3DAD"
-    "EBEFAE47A35FA947A31FAA43F5390957B04E0C724DC840000619E4790800149AFDE681CD83"
-    "0F3EF8E07B4F9E3CF9A1B5B5B5AF0290E1BB944036836FD336E95893C1BE51E06DE34CFB4F"
-    "2A7FECCDEBD6D46F4128490604DC1F65C71CFEDF346DFA0C3047B99D9B21F6B9065466C440"
-    "5DDA8B207EA56356FB66D0650D5AE64033CE5DA3EF9326EE955511A03BF7E1F26DDDE69713"
-    "CE97D5BB4CCC776DB640584200C2B6402C48B8FEDA4E4D7F6D94BD3E8C60D63E6AC2AF72DE"
-    "8694F6377FEE00BD233D338B4235F77C2D522D3641A60DCE6916AC02897064D2A1F109215B"
-    "28A4AAD3586CF6F6BEB59A4EBFB56DDB5FDDD8D8F8E9F178FC9F31B6C6E3F1903AF71A9581"
-    "000C32C8F3104CBEDBDBDBDFBFB1B1FEF7902E17C07FE9F2A57E0DBA02B06ADAFAB7CDC09F"
-    "34740BC632AFED2B28866CBED6172666FBB2F798B905E67DCD6A29585CB627FDBDF4B86AAC"
-    "9241CD82BE7EC760EA6BC78B80CBE058FABC00D40EB0EE07983C12C3F5E2B2B50DEC7D6C9B"
-    "D83A949EDD7BB6B625926102396DA84020D7C1CCB40FAB4107E42007B51E5702817192F234"
-    "60C383A67717800C741607B532647211E60309B3A5E5FD93C9E4FD9B9B9BFFCB8913273EF4"
-    "D4534FED824C2E2361835C9D32108041067996A266DEB66DBFBCAAAA7F5385EAD44E5AABAF"
-    "E66224E381163E4D5AF89C368EF76DECAD02D6E7AEC0DD696B752A0DE763332864F89B4E26"
-    "E9359974A0DFC70964D1D502C5A56806BCA50054DEE792862F0E9096CAF1AE2D9DEB9D6749"
-    "0913949258C2622D0ED63A60CBB3C0CFF7E16B4A6DB08CA4F4310E64FDE0B2668195B1B744"
-    "A885C8D6A1CA1ABD9283919282519DC64FF77D9546641B95381A325177E30C7FAB60E31260"
-    "B198CADE6EFCE0A14387FF7255D7DF79F6CC997F814453D808C8ABF72057A70C046090419E"
-    "A5C4D88EDAB6FDF9A6693EA4016EBD7FDF68FC9D46DE24933C07F9CD27C4E902C7EA513759"
-    "03DC1153006B82E6EE4F80DFCC8201190C929657CF9B853D20936701EEACF57B80C6D68192"
-    "265C12CF64DFB7A963912801B107BCB6CEC9F49D81D496250592C22E843977C212D253AAB3"
-    "907B60597BDA6BC410017B8D3E0BC644720D5495ECE57215D435C620A5831E8D7AF3BF8E4D"
-    "04148220543D59989189D40F11592A2FAE6D6E1CF8A5F1F5D77FCFD9B367DF7FF9F2E52F36"
-    "FB70850C7275C840000619E459089651354DF3CB4DD36C6B4477CC267D4CC66C8E9F017F3B"
-    "17C0A781673AF1A6DCFD3BBB3DE0F7A0DFA7F5935994BABA050824D96C2CC6745D02660639"
-    "2968F51EC895DE73BDF83EE2100FAEAF770E9FE789779F677B3D1310AE4BE9DA52FB72FF94"
-    "CE6397823DCEE0CFF78D26C8B30933700F395FC01844603C4E2E83440646751A53DDE64EAD"
-    "041086A659702DE0FE3BBB3B321A8DDF7EE30D377EE1E92F3DFDDF9C3D7BF6670F1EDC9C6D"
-    "2B3DC8552B03011864907D48DBB6E3E974FA2B6D6CBFA9DB38A64A21F16DD6F2A700FDE92C"
-    "C80F26545D22D707946551D32CE673803C12056195004CACF8ACD7E8C49F0031486FA6656D"
-    "DE031C2B1EE82D730DECB76CB63678E0E6DDC7D3D04BF7F19EC77B3621106562C37E7D8FF0"
-    "78206FAF610057D9CF3378EDC1F7572B0597DF6BE42DED2F40CF26C65A303BD669EB2D807D"
-    "3AED5C05A3516F11C0DF2AD412318E337185F560548F7A570248EE743A49E3FCC8D1233F13"
-    "4278DBF9F3CF7C6B5D8FE2C1830717FA6490AB47060230C820579069D3BCAF994E7FA98DED"
-    "96266341A47E4AE88389117EFE14893FEFE79F99FABB08FEBA1A753BED614FFF5DF858F7E4"
-    "E2858BB2BBB7DB2F73B3266BD6E81508C480044FFE9EE6CFE06CFF9640589604FB59F14841"
-    "4902B926969D5F3A2EA61C0F944B51F81EA07BF7F2488FE782F0EA2304CC42606E41BCD4EE"
-    "4CAA3836C102BC2D4FC78B95746ED359A7A619FC351702DC4B788F08FF4402EA4AC6A371EF"
-    "5668EB56EA66E63E8055006B0E2F5FBA2C870F1DFA4B073636FEFCF9679EF9C1E974F2CF0F"
-    "6E6EC9683C40C9D528E55FD90ACA239F7EE415F9D008023B79FC941C3F762C659743B670CD"
-    "CB1E72EEF036675D0B79C73209ADE0371BDB4A02C0A86AA48963A97076D5E4AD55AB142D6C"
-    "939B604EAAEB204BE6DF9590385B36F7CF9AA6F94E11DD0226F626FE14859FDE4FFB20BFB4"
-    "8E9FA2BBD50F8B49177BFA43E3DFDDD99189EEDA9713D5D8495C5D0316E0D5BDC04BFB3CBF"
-    "B4F5E5AAC6A75A5F6F5520025102229665E06CC53BAF04A6A5F79E94EA2557F8CEAB8B3884"
-    "82BF5F26DEFDAC66EEDD939FD99E67415FC7180823C64E4B49A39820B2CF5FFB5BC791754B"
-    "A5F3355FC0A8EE5D03635C371EF54B43BB5507A3B4C5748DF2F298C27BE433D8D9B9FC701B"
-    "E3376C6D6D7D4A2D1857832C1B5FAB24036D1B64104726D3C9756DD3FE8710C2BD3A494393"
-    "D249D91280D680719B7DFD49E3875F753496E9DE44CE5F382FCF5C7C46762EEFF413710263"
-    "63D6B7C08C73100780C91F2F9EBC19344A206E3563251569A21F8F930F776D6D2DBD171369"
-    "CED77A206D85FDD55EA09BADD3952C01DE3D58BCB24BD77B6DE3C516789ABDB6F7B272BCFB"
-    "97CEF15C2D6234787509691CC85EDE31B264B1B0E5D9BE56A287BE461FE3A5FD2D964CC656"
-    "2A6CF654D7FDF2D27A52A7F34004527E894C3A46283F938AB4E574D5C8FAC6C66B628C8FEC"
-    "EDEDFDB5F5F5F5FFBEF47C83BC32652000830C42B2B7BBF7954DDBFC66555563CD0D9F02FC"
-    "DA695A8ED72801C8FEFF2E018F74EF73D6B7F1DA5A3A0FA98155EB57AD5DB5724EDBDA0502"
-    "EEA4495FD7F8AB89D7F3B55B33B0828EBE6752A020A22B0CF47C4CF41B1B1BE92F9678E1AF"
-    "5A1818D84B806D854DF025426235575902A42A1EF9F04CEF9EB0BFBC54B6A79DB3FBC4BB6F"
-    "49B8FDBCF77A0F68F8D82D122FED7FC9C480DD1BB69E96A0D8F23596047D8DF1876B9504A0"
-    "BFF1DADCDC4CFD9C486626A4D0F695688E9B71471842B72CB0FB21B412B3DB20B621ED79D1"
-    "A548965F984C26B7D675FD23F86E90AB43869E1A64102369695F6C7FB13753B73353EC0C94"
-    "75695F934DFEB3A43DE37107EC172F5C90F3E7CFA7E0BE3E414F9ED0AD368E497A925305DB"
-    "20C012F828307B016056BC631E58E1BE78E15E000790000003FE5629F86BFAACFDF61E502F"
-    "FBBCEC5A0B7EE23C97673960CDDD3B978FF3337A657AA6FB9275E44AF5B4961090C33367CE"
-    "24A0B6244FFDF55AB61248AFBDBCBFFCBC2003186318970076F43382F8F0528B538C93DE1A"
-    "811815F4BF5A105097BD38917E4789DEBD80DD09535D7F786F6FEF1D9B9B9BEFAAEBFAC242"
-    "630EF28A9381000C324896A669FED664B2F7F7FBCD5CB2DF14008D603F8DF2E735FD312778"
-    "19AF8DD3394F3DF554DA176096673FCE99649309B569D284AF1A3FEEA1E778BE5E15D64459"
-    "13B4DA7E69BDBB7D6FCF415D00464F3FFDB46C6D6DC9D1A34793A6A8F54D11E24BCA1403A6"
-    "B62EDEBD4B1AFB32733B3FB377BD1E673067C01607B44B9A7AA98ECB2C019ED5C0BE479BA2"
-    "DF3156D0DEBA0782B5DCF0312F4EC13E07131FDB56DA1E4A2E706FF435C8C0F6F6767AA1AF"
-    "533E81EC765A1B77A0AFC414DF231600BF05441C8D4DB069DA54A94E41850FEEEDED9D5E5F"
-    "5FFFBAAAAAFEE342E30DF28A129F12AFA80C41809D1414A56B46D2F40A60AAB296DD81FFCF"
-    "4EA793BF2939208FB5FECE673AED37C6D114BE9035F8D0639467B209172F05700DC2528DDF"
-    "6AFB9864853450ABF1A9947CF176E2F7AEF1009F01AECEBEDF40CB0BF1BC202BD00EA1291E"
-    "397224590834184D1C50F3A474DC5EB71FF3BA077CB28404F03981DC265EDB2EFBBE548FD2"
-    "FDBD003F31408C3172F6EC5979E69967E692FC30D873609D1D2B81DC3F9E95420C21B2C4C0"
-    "1239ED6BF4B3F635EE8B318A73B12450E71AC48B801CF6A417B90534F360E8B20BEAEF633C"
-    "1EFFD3F168FCBDC86DB5D0402FB378636915656805230301580D49936BDB48481BAF5448AF"
-    "FBBF4DDBE63D98C0305F03E8270CFED91FCF6005D32880FCEC99B372E1E285F928EB6C4AC5"
-    "2489EB30E99F3B776E6E49965024BE98C9DB6A839196827962C181C18CB56E8E11F0FCF6D6"
-    "EC0C97C0F1E3C7E5D8B1633D91B1EDE08907469E78E795AE293DFB32D9EF355E1FD8F62F01"
-    "BF576F8F38A8CB075A3F4CFE698748CA30280E09622DDEF3FBB355822D07768509BB9802C5"
-    "0D40D33F79F264EAEBCE3AB5874440E9FCCB3B3BB2B1BE9EBE5382AB4B09EDCE866953AA29"
-    "720A8C3EB3BEBEF6D610C2930B0DFE328A37B65651865630321080D5906EC7BD361180189B"
-    "7F3B9D4EBFAE037F35F943DB9FF451FEF86CB7D5D5490E131F401D93F9EEEE5EBFADAF35F7"
-    "E35C985AA1E96132B5E6690EF0F3C4D3F2AFE45FF6346A0FDC3DE0B25AA5029612011C3F7C"
-    "F8B0DC74D34DC932A011EA817CDA5EBD584A9ABE14C076BFE679AF8CD2B9DEF1521B7B6DC5"
-    "24C08AD716783DF9E493E90502C5A0EFE508F0CA60CDDEB6A15A1338E1928A3DAED605B620"
-    "68BF82F05D77DD7589E42A59C198C7780649808B08258D120918254B41D0658266E9615555"
-    "9F5A5F5F7F7B08E1F185067F9964D9D85C25196200065941E9F6436F9BE96FB46D93C01F24"
-    "0851FEC9D79FCCFF4A049A0CFE9DC9BF03FF5AD6D7D7929FFF89279EE8C13198B5D8982831"
-    "9102F84112C44474B3256119C079DAA115EF1AEF5869A5006B9336DB1C071CE29960C10000"
-    "9C3A75AA07073CA747029864A894088B474E2C31F12C1825B250BA9FD7E69ED581C983773F"
-    "AF5C5BBE8A0230DAAE238BBB0B7D63415AB76CE6FEE2B2F93BEDBB68B67DB6E327504C869E"
-    "C39600F429FE9E3E7D3AD5F9C61B6F9413274EF4B1017013E02FE2070E1D3A64568D54529B"
-    "3AABDBAB6DDA3B7677773EBDBEBEFE952154BF9FEAAF7932C24C0B8D6191900DF2E2CA4000"
-    "065931E9D2F9B46DFCF5B66DDFDD05FC611FF5695AD284DCE8487B9A3E67F0C75A69C951FE"
-    "29214A3D4AFEDB3367CFF64BF5ACAF1F2F803E08829AFB254FEC761D3F6B732A16AC1974EC"
-    "242F0E08A8D8EBEC7DB43E6AF22D018B38653439573CEEF7852F7C21919B9B6FBE39059069"
-    "6C009BA33D705561BFB78A3D6F59D0A12D5F4823F6C4BB8747406C7925B0F7347CEE475B3F"
-    "8C07002A3469AF8F2CC9C3332838B3282963F266C19CC78C5E63FB90EF6DEBAEE302561E90"
-    "954F7DEA5309EC6FBDF5D6740CCF0032A889ADB6B60EA65531D853A0EFCBBC7745557736CA"
-    "B66D377676767E6FBCB6F6BE3AD4FF06E7C30ED96D63DCE6D5B6AD0C14E0A59581000C2271"
-    "857E76D8D2BC6DDBFFB66DA7DF54A57CFE9534D389D9C427FBFD9B594E7E517F3F82FD4248"
-    "133922B75593D735FDEAEBC77798307B0DC844F5B3D8ED5E19EC3CB067A0F126790FD4B95C"
-    "7B8E050F31C0C7444025E43C066A0D808668AD01F63C2E8BBFF3F20678646199B6CD752E01"
-    "3A83B61069F0AC32A5CFA5F298A0A425A1172F264B110893055BAF2E259700EFC0A720CD4B"
-    "45BD7AAB687976AC8839CE65E13C4D1405CB0548CCEDB7DF9EDC40200118DB2008B8AE0B0C"
-    "6C3311C816B6D84A68677101F87E3299FC6BA9E5FBAAAAFA797C0E7927CDDCFB834FFA2596"
-    "A1BD8DAC620CC06A09DA277E7FDBC47F944C8F69339EA6D3F64DCA55CD90D63631AD88C024"
-    "8508787C0FF0B791DBEAEB4F0152972FA7EFBAF5D48B9A9D38E6790F58ECB9D60C2C4B3456"
-    "6B765D766DC9AC6CCBAB28FFBC14B46B2D072FF883A121C21AA0B10E25307FA1C50352264A"
-    "5E3DF83AEFB85756E95ACF958131F1D8638F2500554B9106565A97D0952C1D5E7F789616FB"
-    "59CBB22B3D3C8B0613475E31A02FAC0A4099B7DC724B227DF8AD68C22204898204D8A5AE7A"
-    "5DAA73B608C43E2871F4CF43153ED89DD359009AB048905F2C59AB365EB27BBD9265B000AC"
-    "B42C4E62D7AC60A289E13BDAA6F947DDE41672A4FFA4DFD4670FE00F933EFCFDED0C4001FE"
-    "00F52F7EF18B6942B7FE4D9DE8A0F1E3C5E67A0F6885B4FB6564808F7B9AA3D5A679192103"
-    "8A4712ECF160F2083079282DFFC3840FAB07AC012001B006F47BCE3BDA3F8BA749EF47D83F"
-    "6FEBC4EF4B24E1D9DCBB44BEC410245B271021003FA2FE55AC6FDEB67389183259632B9225"
-    "7EF6DE56ABB73127964894AC00DA6F29DB9FA90B401E80FF99CF7C26FD0EEEBCF3CEFC9CBB"
-    "A9EF75D9687AC6B4D7C03C798C4D9723BB73454C3F50C5FAF2683CFAAB89653F87FE1FE4F9"
-    "CB400056565609FCA1ED87AF6CA7EDFF98AC1EA1D3FC61EE87C97292B4FF491FECA7096F82"
-    "59E6079FB76A40F3CB9D24C503C0CCAB295075D2F426752130F68080AF13D2EAECB97682B7"
-    "69636589B5C1D6CF6A780CFA7DF3114960B0D57B43237CE491471218DC76DB6D732E010F30"
-    "3DA0BE927800CC40EE01BA250225CB07971D6949A57D5E260EF6B8B6214811088025423606"
-    "C42376F63C6E6BBE1F9BEB97F535D7D712017B5F7B1F2670699F80BA4E561EB834D0B7F7DC"
-    "738FACAF6FA4DFC605FC06C623D958DF48FB63543A6E60EA8F9D5BA003FACE74D9B6CD87F0"
-    "131C8DABBFB6F2BB8FBD4C321080151344DA860817C2AA98FF9389F1C6B699FEAF31761BF4"
-    "24ED346DDFDB99FF27D86C07DBFAA6C0B8362D65427C806E92F3F8E38F278D47274C357362"
-    "92C6040FE0D3CFACA1F35A7F3BB92F33C5B35F56CDC60C0A1CD5AD4BBBD865E0697B256DD3"
-    "D681EBC69BE37829824196544384D608EB094B299FC19534728F3478E0CCE299E74B96142E"
-    "DFEB1FBE8F6D433C1BAC417017011839A8CF23311ED07BC7ECFDD5C2648329C5047A8A4378"
-    "D82263C91EAF06B001834263029A3E825C1F7AE821B9F7DE7BD3CA809459F0DC79191DEB76"
-    "224CD763296CCCE4B1862BA0230186547CAFC8A81A8FEBEF09ABA596BC2264D8BA69D5A45B"
-    "81B332AF645D9C36BFDEB6F12826A068B659EDA2FED5E7DF252EC1F9B5F1EBC37F6B7DFE6A"
-    "F6C7679876A10579606627713BC92AE02EF3C9B2795A13B4D8EFD8CA60AFE534C5B63E368D"
-    "315F675F6C766633325F678FA3EDD0360007B41D48003FA318300AE483DECF31EF2504DA1E"
-    "F095EEC3E7717D4B75E7CF55DED807CF0FAB50C9C263DB8DD7FF47CADCE7F5078F05DB1FDC"
-    "2F7A4D696CD8F2EC314B3254ECBE16F0F9A37FD1CF380E1280B17AFEFCB96ED92CCAB3C427"
-    "0708260E209D212091A369F3572793E93F1CAC2F1CCAC20000200049444154002FBD0C1680"
-    "9511E5D7ABC3B1D3D2A2A6FD8518DB2F574D6696D6B7F3FBA775FFD8DC67AA8159A37ECB5C"
-    "803FB41C315BACEAF227987701FE4A06EC2469276ACFAC2C34A9B3F93A3AC15E1EF8F2E748"
-    "390638731C5B1EACF6184D309A5D6256AA8FBD1FFB9FD5250000FCF8C73F2EAF79CD6B52E4"
-    "B84D1CF4ACFAB1A0297BDF0B69F29EEBC13BEE95C9CFBAEC1ADB46BA0494AD259ECF9FAD17"
-    "0CDC6CAAF76238D4C26057062C7301A8666F357AAEA7D7EE915C4628072400FDFCA77FFAA7"
-    "F2BAD7BD2E9180CE1D7621F57983F253F063B7E246D24A1C8D51E8E624B806A6D3E6074632"
-    "DAAB47A31F0EA1498181438CFA8B2F03015809E980BF5A250290547FF9B118DBEF0D556716"
-    "9FE6A0BF14F13FD94B7E7F4C44B00424D01A01F8AB94D90CE00FDFBE4E7A200478C1A48BE5"
-    "6F1A27607768630DCA9AD5ED24EC99A14B444188349480C9D3061980BCFBB009D80280DDFC"
-    "8737026260D232AD360B908159F8A31FFDA8BCEA55AF4A91E31A1CE83DAB07B00C904C98F8"
-    "5CCF3C2F0500F78E79DFF179F6DE7A5C8915C00F99FE74BD3FBB856C9F78C42F902BC69238"
-    "6D6BBB24904983673560E056225C227581F20C045A6162AD00F80EA00FD203120077002C3E"
-    "F86C8302BB32BBFC0069FB60D403E02FEA12404AEEE90FB5516EDD580B7F39B7F442BF0CF2"
-    "C2CA40005640625AFC37494B03574152A21FA96F9CB6F58F62620998F0F2FEFD5D86BF894C"
-    "F6267D2C405A9E85A54B1534FCB5E4BB55F097BC8C0A9319345868FE3A497AD1D51E007911"
-    "DACB80DE0283B7FC4F886C7860E8B925848889773F9560FCC09E95C2232042C4428104EDF6"
-    "C94F7E32B53B88008EEBF2312900BFF71DBF5F461C4AE4C23BD793D27925D2A0CF04CD1F2F"
-    "6B55B16D6241573FB3C66DEF61CDF39C0BC07B3E7BACA50C837CBEED23EE6726203CDE3886"
-    "052400BF993FFBB33F4B2400E5210E021633ACA2696C79315B1CA2260CC26704E8C01D30FD"
-    "2FF6AAFACFC6E3FAC7631A228B6D3DC80B270301B8E605BF304C32ABB3EE15734B1B9B9F17"
-    "690F60026952647FB7A1CF346FEF9BB4181080B63387C22C89890A933734389D0801FC9AD6"
-    "5727766FA2666D78BE3E3393A93820296662B6665A0F68D86CCF665E15262936988BCFE7A8"
-    "7F4F63148768B01520526E7AFE1ECBC7F05C080E54C0F49E91C5D36EC501690679AF4DBCBE"
-    "B9D279A5F2F818AC431823BA511293A3482E1ACF2A63091A8F17250BA59C015EBD030573DA"
-    "71C1EBFD99309448A2D767F80EAB03409E610140C2201000C408683C4DF2FD2361491DBB60"
-    "40090B49C8AA2AC864AFF93191EAB7EAE9F8FF6CE3C0015E4C1908C0B52EF8F154ABA1F9AB"
-    "B451BEBB8D3165FAC312A46E1FFF36014E0FFE397F39B47E80E3DA7894CCB6A79F7C724EF3"
-    "C74B353BCFEC2F8E9997276F0658590226E24CE425F1AEF7C8452037049F1F1C1F7070B2CC"
-    "A9B0D99F2D131E7068F99FFBDCE7D25F90008D14B7E2DD8F4DE62500E26BAF4418EC7925EB"
-    "8D779CEFA1560E8C11CDF6C71AB3470682B37223520C8025613AFEF89C521A603BF6EC7DF8"
-    "59AC75CA5ECBA44EBFB31603DE4E1A9680CF7EF6B389045C7FFDF5C95D0662B475702B6DA5"
-    "1DEA98129349BD68E10F19EC51B5C9DEDE6F84B5EAFEAA958FA74042BFEB06799E3210806B"
-    "5962FEDDD4ABE44B0BB7B6D3F61F871C6DDC9AF4BE6AF2EFF2FC4FBB28E4BA5BF2D7E5F77F"
-    "5C2E5FBAD4039FE6F6D7495DB3B8092DC5B25A9590358027730B0E1EB07993B710305A136F"
-    "70A2DB8540479C54C15A770B0A76221702077BFF65266B3613B35689F7200138FFAEBBEE9A"
-    "AB9B7DD67DF5B4A39596409AA544244AA4C1BB972D03E4510343F53B3B5E38E53183AEED77"
-    "A131E42DE98CB404D38E15762D588261EFC1E3CB5BADE2051F5AF700BB0E42CE9D01970FFC"
-    "FF7881008010F4E33F2D45D67AA81BA003FF387BCED15EB3FBBF1FA8AAFB2B69771729F420"
-    "2F840C04E09A963C09AE4CDC1F342AF9EFB0A5394C89BAAB5F93FDFF9DF63FED27E5B47DA9"
-    "54B2B6BE963415982C757254B32582BA742D774B5B027B6BE23DD0F4BE635FB007460A209E"
-    "29DE0366152F6E80819F35D29269D99EE7AD74E0B62811156B4DC0DF471F7D348102120621"
-    "4F40C9E5B19F3EB7E201BB07BCFBD1F23D62C6D7E0B9402E411211F068EF517A263B86387B"
-    "63A9FE76ADBF37EEAC35C16EE3EC9569135D312915222B5A375E9668FBD912919877130421"
-    "FAC4273E210F3CF0403A8EB6818BC00B4CC4125CCD06086210F32641CDB4BD6BB70EBF7EE0"
-    "C0816FA89F85656C90FDCB4000AE4149CBDF92EF7BC51EBC95BF1DDBF6BD3AC17426FFCEEF"
-    "BFB7B7DBE72EC777DDDEE541D6D7D664E7F24E4AF6A381699ACB1C9316088050E4B307BEAC"
-    "717B1A9DBD462761BB44CF6A660CECDEBD8526633BB1737DBC6BC5090A64A2E211080FE84B"
-    "F7B4C785C00C0163A83348800298A75D5F499BB7E7B0A6EDB555A92D6C7D3978CEBB4ECFC5"
-    "38B1BE7F3EDF12206F05041325065F8F78D86BF53A754D79FD64CBB460CEE493978EDABAB2"
-    "C5C93E9F989510F81D6D6C6CA495002001AF7EF5AB1389468CCD786D3C37BEBB6B4C5E8A64"
-    "14E836EA48E4AA69DE7D7977F7D70FAC6F7C73470E067921652000D7A4E4FDB6A33F595E8B"
-    "1242B85762FB7743DE5D4C37F869DB6906FE6E72EC82FE46FD7AF798F73DD73DDA5583C267"
-    "CDFEC71AB73721736C009B8ED9FCEA69CAF6BD47323C2DD54EF4163C58B3F400870142C82C"
-    "6CCFE3B23CB0E76BF879F8D9D03F3015E35CAC0EE0BAA978EDCDEDE69D5FD2183DD0E7F62D"
-    "3D07DFA74B7C737E6EA73F71C092FBD02EE913438CF83919B8AD466EEB61DBC51241261CDC"
-    "96B65ECB96FE79CF64736BB09B07E782042065F0891327E4E4C993894C1F5D3B3AF79B8A71"
-    "96A124D549D41AD01D85256032D9FBA62A841F5F1FADFF1D898333E0859481005C83821FE7"
-    "AA756C1BDB9F862931A8E93F6BEC69B73F68FD6D77AC42D05FD5ED07B0B6B62E67CE3CD99B"
-    "FE7552D37DCE7552B5816A5663B71229584A9C09561C60F780590800EC44EC9974EDF576AD"
-    "36038F178C28049456F35390D2099EC98C5776A0E565AC99F33108F69B87D9F8A69B6EEA77"
-    "12F4840988D706FBD5F69F0D49F0EEA5E780286A5E08EF7A8F6CB12B898987056B6F9C7070"
-    "266BE136F6C2B6B7C67C70AC8A250EB65CFBFC9E8B8749AD98F1A965C39A864DB48E1D3B96"
-    "CA477B6D6CAC9B31D4767B04B4394780F0FDBB4D85F6F6F67E2A54F2DBD5487E33B67E9F0D"
-    "F2EC652000D790E4692399FF576B67EDF8BE28ED37A489284ABFC4AFB702A4E57E6DDAEC27"
-    "F9F64348EBFD2FEF5C9E5BEFAFBB9F41F3577780A7E932A8B1CFDD031F166F6996984870AB"
-    "29722016032E83862716743898CB6A750CE45C7F7B3FAE3F831ABB35F8592DC1823B00ED8F"
-    "C871988BEDBDECBDBDF71E4097DA616ED438FDE401A0D7970AB2007F98BAED73ABBB888994"
-    "1D379644B146AFF7B2B9F8ED382B913D4FBBE73C036CAEB7DA3893516B51B2A0CFAB024AE3"
-    "1802B33FD222830460A748FCB636D6D7CD83CA3CF0076B11E8F203C494B1BE91C9DEF4C7D6"
-    "E3FA6FC6C10AF082C94000AE3109D264F3D9AA3C700A1AFA212413A9F2E4DB47FBF711FF4D"
-    "4EF653F7131FFE6262D2BDFBED9EFE9ADFDF9A5BD984BD6CE294024960FF2A83A4900F9BCB"
-    "67CD90B54E5E8FCF5A259B7397DD8BCDC142206933030A91002120B5D75B00B2F7433F206D"
-    "3000E3E8D1A37324808501DAF3FB97888377DC2325563C0B02EE893A22F21F6386C158356D"
-    "6E17CF35A36DC2AB2B4AC244CD5A87B86F6C5C055B1A3C62A96DE045FC737F8B433E5ACA58"
-    "08812B002B3F8E1F3F9E9609EE242BC0817E596067F50FD22251590CF33E81EE6669A54ED3"
-    "345F39ADDBBFB9B1B6F60FDB6620012F840C9B015D4312D3BAB620A196D57985F64169E541"
-    "807F6CDBBCDCAF95695EE78F892226209B4D60E3B5F5B461C9F9735FEA275010005CABC0E3"
-    "69BF423E7FD6A0559669487CACA4C93210B116C6E01EC985C06BCA3D60F6BEB3666A2BADD9"
-    "1048EFA9B9143840B1A5BD112CF8B119DC5E0FB7CBC30F3F9CFA00A021649DD0978D606752"
-    "64DBCB6B672E8BAFE5EFBC63DABFEAFBE736B3E4D01201211264FBB934DE6CBB733D95EC5A"
-    "20F7C68DBD97057675EDF0F5152508624B811D07B6CEF6B32504BA9A05F901F07D5A2A193B"
-    "D59F0959CA08A85601CB8342F7FDDE64E767A74DF3A66A5475E8F55C5F8324192C00D78824"
-    "3D3842FFAF57E799435AE8FF0B8818C63C32356BFC91F31F098074BD3F3623010918D5D8AD"
-    "6D4F9E7CF28C4CB0FB5F5E6E87894897A3094DE273F7F3EAE02CBDB3136D24DF77A0A03AD6"
-    "ACB91CABC5B585CD77BC657C422484AD16A56B0299C1BD6585E268940A78E2EC1DC0448883"
-    "C624F70334EA8F7DEC63F2FAD7BF3EC50570647D4943F7FAA6D457E268F59E05A1741FB514"
-    "C18284FAD96438960C68DF58337E24B3BCB617CAE17EF2CCF47A1F7557457241713BD91502"
-    "F61A3D87FB8989AD7539F1F6C0429622B63AD8DF00347F04DB1E3972446EBEF966D9D9ED72"
-    "03CCEAA3BF8B6E7F8018663902FBE7417B4EA77269E7E2BFDD3AB8FD6A09D53987330DF22C"
-    "642000D7847466B380809A55FA4144F9CE36C637741347E7E787C6DFE4C03F8DCA47B6BF34"
-    "B9263FFF38F9FDD39A6D4C7839EA1F5A89AE04604DCC0354ABED7AFE5B36F97A206A01C5BB"
-    "269A18809652000B019A4EEE3CF9F2841F28939B389A2193150616FB9C9C09CE0B0C536177"
-    "876D07FBEC48C50C77C07DF7DDD75B666C9D640919F0FACFBBA747666409F0DBB6C07340FB"
-    "C7CBBB8F358BDB0C7CF63C0ECE63C268AD0E4C983C6B8F4DF663090793347B0E5B8E987C78"
-    "ED658905DF87AFB7CF8EF748A98D4DB6D415609FA58DCE8A09B56A6A444094F47B9D4E27A7"
-    "762EEFFCECE6C681FF7208087C7E3210806B407457AD50AF8EF60F994E9A1FE9E687D807FA"
-    "61995F9BB7F74D136B36FDA7F6C913F2A54B171734368D05B0E2015EA0A4370C446CDEF576"
-    "6ED3EB389A5B9C49D8037B5B3E4FD4962458A029590EF8D918704A00E001026BFC622C019E"
-    "15C0BEE77B21680CF10058432E1437C16DB21F12E0DD939FC32B4B881CE059401E4122E1AA"
-    "50F3B6D5CED9BAE1114ADB6E91E24CB8DF82C991605D0A9620723B7AA4520CD95080E6151B"
-    "5EBF703B5B421197042346B24C810080346169E05D77DE9948F7DA78AD2B2FCF61316FE5A5"
-    "41CC215BF772CBA5FF12619FEC7CE7B8AE7F75341AFDFBD2EA9641AE2C0301B816046EB395"
-    "FA0DA449E2BB45E2DD2938A8D7FE9BBCCFFFB49F243BD37F3799600242C4F6B973E7FBC954"
-    "D7FC5BEDDF0324150B1C1CC9CD006A357FFD6C3574CF1AE095A57568690D386B82E22CCDF2"
-    "96E77944870196490D03E3328B4609486C3B94AEB575C0E6418805408E00BB3CD00369BE8F"
-    "A7C597AE2BF531BF57D0B4DA3FC7458863F511024FBE9F05580F6CBDCF9E76DFE6552E7CDF"
-    "404B33ED38D0DF81987ED6B26C9A68DB5F969C94AC00625C6BB68E70EBC01570EAD4A914EC"
-    "D9ED06ACB9806352F383C90DD0BB01F01EE5EBA952C9E5BD9D9F5B1F6DDDDB62BB6F87F00D"
-    "72651908C0352021CC4F7ED7BE6052697F409F1B417F4DDED92F69FED06C744226F335966D"
-    "F164084DCE03074FBB679260CF1527A8ABE453156772B7E4A04444BC7AB6667D7720DFAB10"
-    "C0D8FAA8D8095A0C21F0EE596A132F96C0D3FA3937BE509C0413162C0F0468DC72CB2DA99F"
-    "3C3702D789018BFBC7EB2FEFBA40169E90D7FD9F3973662E3DB48DC217F2E7978818F747A4"
-    "E03B26726C11B0C00E17894D016CC1D96B1BEFF9983C05FADDF0673BCE99B8D9F1CC2B5F40"
-    "C21138091280E440E977AA75CE56BAB4B22757475D9AAD843990476E80493379CD68BAF7E3"
-    "9B1B1B7F67B0023C371908C035205129F34A489A643E1463BC2F2F0DEA803FFBFE61FEC73A"
-    "E1A4FD57DD463F62CC8F78D928725DF36F27627196EA49C1B4EC81A1984994275FF6937B40"
-    "EB81BFD0E4CB91DA2520B375B3A01BC9C5C0E0CBE5060A5CB465D83A7B6E007E2626310C84"
-    "F638347FAC0CC0FB1B6EB82181EB324D9F8F796DE27DF6CAB0E7A07EB8374CFF2091DCC796"
-    "B4554EAE06B51E88B3D4D323095EDDF4DC92062E64E28FE402F000BB4446BC8D8CBCBA2D1B"
-    "CFD1C95D11F3925BA4DE467F221E40FA768829503746BC1A430662CE07A00DD1050956D548"
-    "263B3B3FD98EAB5FABEAEA63433CC0B39781005CB502D0AF408DBB3DB65747422BCD8F88F1"
-    "31C6ECF79F36B31726123B596132B319DB742B5A5DF3EF6935E26888AC2D57B4AE5B48CBF2"
-    "CCE75ED95E909F9019D50A930DEB6BF7EEE59117ABBD5AFFAD9DB4F9DE9EA589E31E5823E4"
-    "7B71B91608BD760449FB933FF99344E29028089FB93E2520E776F63E0BF5996D3B4B6A401E"
-    "A1B98230A22EECDED16B2C787AC487356AAE87D75FDCA61C7CAAE5A8D6CF44C01BA342E3C8"
-    "DE0FCFC8A4D42302DE33D87BAB2B44835421B0E85CBA74599E7CF2744A139C9FDCD4C18EB7"
-    "F9BE0C71766E1D44A64D1B2E5CDCFD99CD839B5FD70E04E059CB4000AE5AE94266621D5666"
-    "B7BF64CE6FDB0F48135F15EA2A45FC777EF5B65F13AD094242FF4FD6FE9F399FFCFF3A4187"
-    "6CCEF500CD034B0F04BDC95027596BCEF74CBC365F3B9B2F79A22F69AD56F3F27680632DD1"
-    "8A670DB062C14DCBF2DAAA64C1B0C7BC951256D8F5C12675885A02101878F8F0E1D4777C0E"
-    "F7936D4FEE1F3E97CF11025D900E98FEF157C78F64C0B5FDC72E166FE50693468F7430C0F2"
-    "B1AA5A4CCDCCCBF9F4BDD6C72357D6FF6F0930F797570721B7185B0C2C91648289622E5CB8"
-    "98FA15BFCF30676DCAFD61C03E2F73EA0841C8731F56055468FFE9BB626C5E3D1AD59F185C"
-    "01CF4ECABFCA415EF9821F4CDB48882BF26A534EFF0F8901C0F48A9AF4A749EF313DF491FF"
-    "DD3E0109FCED1AFB6EA7C0C9527013870C58D3A767F2F4AE0BE4978F1439AD9F4B4BB384C0"
-    "94EFE14DF05C471B2D5E9ACCF9D91884ECF18A92F130F910A3FD72399EA9DFAB937D36DC0F"
-    "3BEE7DF8C31F4EB90240043CADDFD6C9FBDE6B53AE9F3DA6600DD33FEEAF3B450A817B9593"
-    "49A9E01C6BEAF700551CC262C706F799ED07AF2F3CEB8F1D4B0CB4E22495F27E07769C79E3"
-    "52A8AF3D32653FC7EC62401E05B4E95C5C4C027CF35E8B4AC5CC627A242F11C43E02D0FCF7"
-    "76F67EE4D9E4041AA493A12DAE6AF186F6B5FA82165B7D558CF12B1444F405DF7FB7FC0FEE"
-    "80389741AC1E8DD276BF172F5C9C9BDC01FEAC5D7BC0CBDAA0D0C4CAEF85F6BF1702150B04"
-    "6CEEB51A945707FB9D8AD5FEED73F0C4CE1B1A592999F94B00EA89DE233A3E707B4FBE9767"
-    "E9E07AA8006001181FF9C8471209D0F4CDCBC40378EE13AF7F2DB0823C2237015B4AB85F4B"
-    "84479FC59AE76D3B2959B0E383C99518F37E89B078A0EC914FFDDE8E09ABA9DBF66712665D"
-    "07F65EEC6E101AAB4C0A74BB6D2C09ACAA40406FCFCFCF625607746584FE778EFBEC4D26DF"
-    "319D366FEA6208E48AAF4172DB0DED70F549E857C48AC47EEDEC2ABCDA6FD7CE8A09FCBB09"
-    "AAC991D06972CAB67F3B3161A281A9B13559D13452DB8A17C9DEDFCF012D7100C68A3729B3"
-    "B9D69EB34C2B2F1DB3E06F275C9E7CADA99A57225800E3E72BB587922F0B60B6BCD273F1FB"
-    "12312999EAA1F983043CF4D0437D4027884009C86D1B94FACA3B4F010DD1FE30FD637C29E1"
-    "600B015B43F83B5B2E9308760778E5D86B2D00B3C6CD8481DD034C506CBF312961F2609F89"
-    "DBCD1BB76CE9B2045BCF457BC20A8078802AD81C26A6ACBEEF4337E3A981C09C924855DAC4"
-    "6BF747DB9454E8CAAF413A196200AE4249A6AF345936D7DCB32D9163ADB47F517FECDD0493"
-    "13FF98802B35FF4B9EE000FC69B7B6FC192F4CEABADB9F9809CC02295B03F83D6B3BDE39B6"
-    "7C15BE4F2938CB4EA8EC571633D9B339BD14D9EF95CBE7B10F9901AB641D891405CFA0E391"
-    "01062A06397BAD1830931C4406933C96086279E0A143871231602B4EE979AF742C641711C6"
-    "0DC01FCBD66C601FFBCDB59E9C0699CDE291E21B2CA87AB11E3C9E6C40A8B7C69EFB9CB7FE"
-    "154318EDF8E1B60AE426F0C6B64718EDFDAC9581098D8E35F42302734F3F795AEEBEEB6ED9"
-    "DBCB312D92FDFC28B78DBDCF5F64B657906463414F66B04A633AF996A6597BC7783CFA7F87"
-    "5880FDC94000AE460969C4AFD0F3A68D7EDE214DDCCEEFBBC43F9AFA372D039C26625057B3"
-    "218DB4A1D01261010866F253F0B7131D9BABED24C9D9FCC468348196C779A0CEE73341E0E8"
-    "7D0F94447C4DD0D3BE84007319D87AE482570194EA6213C5F0F3D8E0305B27AB717A1A64A4"
-    "A592362EC27E0FED11E663FC05A1DBDADA92EDEDEDB97CF79EE582DB83811FF745A01F5C0C"
-    "0027041BDA3A73F064A065796C4DB1E3C13EE7328B891724C884CC6BD7489927B5BEB6DEDC"
-    "2F9E958557A4781623B66484C292D6924543CB427D1F7FEC71B9E3F63B52405FDAEA3799FB"
-    "F3B955AE9B6AFE1A0BA0F101F63962C458F8C9AA3EF8B5C38A80FDC9E002B8CA24FD2CDA2B"
-    "FBB8AEA557B2FCC5F82D36F82F36DD64D6817F93DC01622288D38494D2FE5E9A031B5D2D60"
-    "27214F63E4095A4CC01E83A1CDF5CE939D4E945E4C00DF47C8C4AA13B6ADBFD5F8B92E961C"
-    "F071365DB3D6AED7EAA631961C3148B19667C1C4DED75A154A842250243AB7A35776CC6BC9"
-    "713EDC01B0F2C0940C4200ADDD02B16D772F58CE3E1788210823FCFD9A300A5AAA92108E39"
-    "D0F2D5B2A4E5E8F304C7BF6F9FDB120B6FC320FB0CF6B985C8D495C05C8810CA125268C79E"
-    "3DAF34B6BCB166856334984023D323C816AC2CE3F1A8D7FC17F29A04DD174044DF7559018D"
-    "A5ACAEB1C1D7D74CA7D3AFC5D6DF08102CBD06E964B0005C6D92002EAECED23F49B3C5C936"
-    "36DF84A43E0A88316F25AA39FF3171D46136D96042852607026027532F910C6BF29E862504"
-    "4AFCBD05687126583193634B9BBFD8F375FD35DF4FCCA45932ADDB09BAA2E57BACF9F3B9AC"
-    "5DDA3A5B409BEF96799709B7A77D0EB6B0B036C8ED68CBB3266D316006B33F8003AF63C78E"
-    "252200D7008E0358F05260F6E22394F0604C40D3C778C196C44A82942C0A1116AEBBB7EE5D"
-    "DBC1EB6B710245C558A8784CD873BCDD22BD36B2E35BEBB42C6DAF8D0FB1D602BD8697ADF2"
-    "B5156D5A659F93EBC3BF279036F41BFA30B72C763517A437C1AADE2AFBFF731440D7772232"
-    "5B0E18BA3931670B9CEE4DFEABB5D1FAFF2D8317E08A321080AB4C30D893DD6655486C67F2"
-    "7F8F4439889FBDFAFE634E01DC6BC43900D04ECE300DEB76B2D6442AB2A82D598DCA9E6327"
-    "3B3B117BA67E06573B41EBB6B1421A9A15D696664DE02FB3F3B42D2FDA7E19B0B2E6570279"
-    "5B0E9B875933F4DEDBF3F5B8D5FCD9CCCCF76482A2BBCBE1380800B699D5324004F00298AB"
-    "766E81B13211EFE8179CABBB47DAFAB149DB122FF577AB35C9B62B8F357E067BBDD7A7364E"
-    "8023EA3922DFB3A87030A51862C00496FB9BFB301AB781ED8352BF7179B6EEF63C260988B5"
-    "B8FBEEBBCD0A9E2ED22F4847EEE74CFF3927C0DC6601C965D0A69D3FF726D3F78F267B3F56"
-    "55E113A5DFDA209D0C04E02A136CF9BB4A99FF4237417CB3E4DF7A372165D378ECD6FD6B0A"
-    "D06E829999A97503199D7031D9DBE03FD6B43CCB80FDCCA66F7126627B5C8C96A9A65BDE1E"
-    "D6EEEEE6DDD7D3ACBD3A96AE13C7ADE0D5912767B66AB0EFDE2314DEE46FEFCB41864240E3"
-    "DD2F1813BD4784A0EDC3CA03128018006BB1909CD14EFB9C412FD29235BCD402C340CD4192"
-    "4CF0F4B35D6962576878417E9EE5449CB1C680CD6DEEB94E6C3DD9B220E40E699D259896C8"
-    "F0730B11604B2ED83AE28D0BB652A00FE1C2811506BB0336ED34FBF883A63BD341D493000D"
-    "0B4C45630E081A21985D83CDDE77ADAD6FFC50D30C046099F82AC720AF5869832E015C99FF"
-    "EE896D7C4F37D1C52E4808409AB5AFD94459759340D05DDBA6C9022066A2ED970A66B952D4"
-    "3B830F4FAE7692F3C054A504DA9EE61C1D93BD9DA8AD4582CBF1344D31B10B5E1DBC7A3020"
-    "5833BAAD8B57675B077B8E175466CFF502E7546C101D03A1822D0044FBD79AC36125E097FA"
-    "E5F15713FBE8F3B2EFDDBEEC39B6DFED3358CB8A98BEE76BC401490F2CD942C07D2C66391F"
-    "B75B3041A996B8D97EB6E50A813C5F638303955455B4ADB067F217223D7C3FF401622FD087"
-    "9D7F3E2468AA428EFDD7B11A666BFF3BF037C7257F07D256C10A34FD9EBDA63DD5C2D293D7"
-    "4BD9D7209D0C1680AB46F28F3DAC4E9761F29836D3BF90A2FBD33C305BFB1F0D0140CB5461"
-    "C666ABB4F67FAF270036FADF4E9C9EE6C3FEFF4051FEAC7DB14BC196C3FE5A3B7147DA70C5"
-    "4E94AC75DA89DED362852C1176E20F2651903749335873EC00D7D9962D0E995089144BE1B5"
-    "1D130FCF9DC0ED274673D7F301EAB002E0052B801812C181771E41D167B2899818C43DB0B6"
-    "BE726B35F1346671CCF842710D42267E3180CF2987EDF94CA83C52C9406E01985D473C9679"
-    "8C958830BB43B8FFBDE7D3F79A6F011B04A9663FBB47F7FB8E860BA8CBCFD4726617A86AFC"
-    "D6B7DA9DE60307D60EFC03040A0FE2CB6001B8CA64C5B47F4C18EFEDC12283BFE601E8F282"
-    "C4DE2428F9DFD82D079AD3E6550B664DD2FBACC2A0A76227339BDD4D9CC030D60485CCAF5C"
-    "2EC716B49450852778D60685266CABFDB196CD1AB5106831C950B160E19DE769B1569BB419"
-    "03F99EB68DC47139B0161B4D643CB4480571D644BDB667CD9BFB2A9865888122F26DBFF17E"
-    "FAF69C8AA2F8B95C0675B62A30D07240A6D786EC96B0FDC199FE8488B08D97F0DADC8E5B6F"
-    "0CF2F8F4FACCB3A6E09ECF3C73BE3B9683FBEC289A590262EFE68BA67CE9170E747300B20B"
-    "4EA6936F9E4CF79235905F83E4DFC3D00E5787D80530CFEF2557CDAB8DF1CEB68D0FA61F78"
-    "02FEB6D7B89ABC07003C0255989F50A0E9EB1EFF3A21E1186BFCCB26DA92DF9CB557D66A55"
-    "58A362D011026A2132525186390649FECCF7B7CFC1DAA417942586304493B6560CE9B0EF2D"
-    "412905135A52C5A0CACF2904A09E55C196CD7F6105409FC38FCC2E831231E136A84C04BC47"
-    "0AF4C5A480CFF1C649A094CDF69E7ABEED735B6F6E17CF45E569FDA571C163C39EABFDA962"
-    "FBC6BB47EC9372CD620DBC1D0955B8EFF53D566C9C3B773EFD4EBB73D4E4DFA700925984A0"
-    "69C3594DE78E545261FE786D5BC911195569D334FB1A64BED50679254BDAF9B71BB4A3BA7A"
-    "6EAF51957C63555A6233FFAA93DF0CE5D6FDAB4E1351F5B22D36C813C857EB0FBA4D1345F7"
-    "5DA7FDEB2417BBB631FE7F04FB4D267B73939F4E6ABC6449081898087864802764AB115990"
-    "28110E8E2E67C06153B107789EB665F31B08012F6B651E40F0E4ED0190A7B1B226DB52EE02"
-    "EE576E3B31DAB2773E83921734A9790110F96F098015FBB92A44AF3341BA92A58001BC445C"
-    "BCEBBD73F8BD47903C25CC42A80000200049444154C06752273496997C6A19EC42B0F789C6"
-    "6DC6F7E2F667526CC95FE9DE422E012CC354B7DD5CBB4535FD47B6FA770983D432C0AE8BB6"
-    "3914637CB7C679782B42565D861880AB4046E3B13C73E182ECEEEC3CE73CD60087039B9B72"
-    "60E3C0CC172E31AD9DDF9D74D1F2A36A36F96F1ED8482400D9B9120DA8BA9DB8B0F77ECCE6"
-    "F81753508F69DBBE5323FFD5D4DF4D286D6E87A04982406B7AD36017EDDFCC4D565E54B59D"
-    "8884264C169EB419404B802706C478E2E6F2BC09B2243C29CB923CED9102EFBCE7B0E3C403"
-    "112160B040A4FE730607CF14CCE4C793E8B8461880F8F934498FA679F6B640B6E5D9FEE3D8"
-    "034B763C8B803DC7AE8FD7FD2582890DB1D697D664E66392C85AB16D735B8768D6E47BE386"
-    "C713B7A5D5C0BD3E2EF50B9325B642B015A1A2244C622C4CB6EE9AB951DB0F2400591DCD8D"
-    "730040B7DE5F6C0E9454B4CE03DD6641FD912A245E30994EBEB1AAAA5F2EB984565D060270"
-    "150880184BDA2E5DBEE4FE38F72393E904BF40591BADA5B2429E54A0EDEFEE767E3265D969"
-    "7B4DAC9F4780D5689CB2EDD5C9F230928DB5F5F403C62E7B49F34E4BF29A173C2F511439DC"
-    "B6ED3B2B9D788CFF3FE67BB6F0E585CEEB871C40A80E26478080D596748D774923F2B44559"
-    "02C4A572FABAD37A79219F7BC9FFCEF76442C093B93813B010E1B0F7B665797F39FE401C8D"
-    "8FEB1F68AF772606CB820519D82DA83279E067B0CFA6EF016EE86BB80134DABF04901E11F4"
-    "DA5E0C49B09610BD97AD0B27DA59761FDB46254B4D4581A4B62DBCF6F4C6288F4B6F5C797F"
-    "B96DB9DDF977C3417D25C2C6C44125EDD171F9725ACE79F2E4C9D9395D29B33A4A5EF29F01"
-    "DF8CFAB46360BF555ABEEF7432F9D6F168ED47AB7AF49965EDB5AA321080AB407430AF556B"
-    "CFB9B2F82901EC01DA49ABAFF20414AA943C2349FAFD74A6760DB46BF6761379984CA7E9BA"
-    "031B1B2902FFE0C18332AAC78918601D6F6582BB9EAF6450F9EA18E528E68B3EF23F47FFC3"
-    "F72FB98EF36050F759DD844CEEAC2DEF87487940BF4C736280F2DAC2AEFBF74CC691A2CA6D"
-    "9DBD74B17C2DD7C74ED81C98A8A2F762CD92DBC0234B915C22CB9ECDBB279FE369BCD1C9A8"
-    "C71AB06AD489285FBA24070E1C58D893BFD4361E38DB7EB4417D1690B99EC109061532737B"
-    "9A2803306BEFDCDEFC3CF63B26B53C2EA3B3EE9FCBB7657059DC4F42F101F65C6BE9102203"
-    "9E1502713D7BBB7BF3759199D21FEC2A80EE2A11E17D028C6B20B90EDBD0B6D3AF1F8DEA7F"
-    "32EC02B828030118C4111324642682F4E34574EDA4910B172F26B08575E0D0D67632DB8D46"
-    "E33E6DE7B2C97F3FD2B6EDDB3B261F7ACB8405BF6E72D0F5BFB3BF36F14BA0287A6B6E55F1"
-    "804E1C8260AFB3E579E7B3E65D0A92E3F2BD88771159987CB9EE5E1D3D20B06D60EFC3FE75"
-    "CFC4CEF7B3F7E14D813CF2E3812D3F1B6BB9FC1CF61C0BC09680680C08C600AC00A57A78ED"
-    "E969C26CC5F0B4F240160906C352FF95C0D56B63AFBFADF66DAD305E9BF3F97C4FFD6C978C"
-    "AA795E9CE03D312E21BB44D15E6F0978C965C16460279377B5EC898439EBA262BDD8044176"
-    "EB005D2EA8274B9A13DE3BDE18FD131972032FC8400006D9B7C46C49A8F26E6C693BDEBD56"
-    "CE9D3F9F82AFB60E6EC9E1434752712003294F7F7C0E3FBA90F6FBFF73B309ACED363792B6"
-    "CF05A0568048C13F899490B99FD73DF7B771B4A092F6CE13B4B75E5BDF732A612B3C81DAFB"
-    "3338799A2A7FEF050A3299B0133783B5A7A9B30582DBC06B43D69EED7396C8A0B50278E673"
-    "4F136690638B860603C21280C872AF7D9709DFCFD6DD0BC6F3C89EC83C41E132ECF8B4D773"
-    "2E06DB7E16A0F57AB62679FD60499E67DDE0B1AAEDC92E17A1DF46AF10149605562628D65E"
-    "CB7D3F2BBF7B9EDD5D0D020CB3ECBFDD932DF4659803FA1C232476C554B7A4B06D9BAF6DF6"
-    "DA1B43085F2C8DC55595C5B0DB4106D9B774AB08A069E1078DB881DDC98E9C3E7B5ACE3E7D"
-    "36F9E4102B00077D14D9F7AB8DF1448CF2869CE7D3581414CC3A4280D1CBA672DDEC2718D3"
-    "AD10809780C003B68549C7B99635BECAAC32F026531BD5EED58B2753FEDE828F37D1F23AFD"
-    "8A561FB0A6CE0481C1C03E2783826705612D9F09959EA740C6AE0C6E6F4FBBE6E7E0F6C238"
-    "D0BA3109F334654FBBE676669268DBBFD45742FE712122C163C52B4B1CF0E5E7F09EC7F68D"
-    "AD27AF926032E8DD8B9F9BC92BF787906BC0D685EBD9B5A31280ECBEEB9FCB949F6981D5F6"
-    "F56F67F157F57FF6052C966DDB8EA7D3F6AB24D412A54AAF41F2581CDA6190E72F9D169E2C"
-    "03F548F6F676E5F4934FC899A7CEA4950B587EB8361AC90800A3CB0E0B2F9C1324BE354ADC"
-    "E87D7EBAF5771BCD8A9FD0CF009531CDEAE63F328B25989BACBC0993BF130205069C92962A"
-    "B2A8ED3280DAE37602B4E72D5B512034E1F2337975562905F979D7B246CB6545F2E796EA28"
-    "0EE0DA7BD8679642F21C6E6B2ED75B59807ED7DC0FCBEAC5AE86525DF9AFD73FCF664CD9CF"
-    "1EA87BF5F4C68A474EEC5F760D786D6823F62B5A3160DBB675924A95C89E1D1F252B5520F7"
-    "910656CEEA986D8EC1EE071066F89EDFE43BE77F67FE00DB1B6D6CFEBC2E155E998DD4F621"
-    "830B60901754D2D2C27A94F65107183F75EE4CCA2770E4D061397870AB0B2C6C96A4E64C0B"
-    "0BDAAFD48F96FDB73901D02CFB9FB90C603F6DE672943380F164E44D5E15E5366770672D88"
-    "27D68A92E95813B70539AB6597409AE3164A64C2BBBF07629E59DE3EA37D3E7671709B4921"
-    "5E80D30E0B999FD965622D261E387960653FF379B60FEDDE0F25A0B5E383AD361C33C2A4C4"
-    "D3DCBD34CEBCF993065B466779AA183264FBC6F687FDFDE8F7BCBC8FC94D74DC1ADE9860B2"
-    "60019A7F0FB6CFB8FF6C39D6F5C45625FB7E56BF56AA5077897D432EB38D334D3FF182ECFA"
-    "8BD26F099CEA699606E8B9987FDAA6F93A894DA8AA10C521ACAB2A830560901747A2E48442"
-    "A314D8F3C49927E50B8F7D01B9FD6534AABB5506CEABE926A837879C01CC6ADD497242A0F4"
-    "796EFBDF2A95AD4BB32CB0DA89CF9BECEC84C7016562C0AA7292B294CA65B3AF251B6C7215"
-    "C77C2E0404228BDABC37995BE0F5B47CBE0F0327130171FA802D01F63B4EF3CB1A2347C47B"
-    "DAA3CA323260EBC16DAF20AC04C0B35070B9B66FF8FE814CFD6CF6E771E4BDE7EF6CDD191C"
-    "BD71C984C3B39088D36662C6AF1D3BFA99CBE171BA6CBCD83ED3EF99F8E939DE7B261055CE"
-    "E2896DBE454DFF51C79848FE30FB33D7AD790C19AB802610CAF7BC753299BCA56D9AE50AC8"
-    "8AC940000679D1447F9FC82580D713A74FCBE7BFF005397FFE1959874B003F526843D096F4"
-    "D534882EBC4FFA35C09D2819C84EC1746C1E10A23464F2556B036B814213174F747D898EAF"
-    "5CC59B08B94C5ECFCE0066C50309FB1C7CAE37F197AC025E59C1F8651994F8198548049316"
-    "AFCE5EBD4A6DC6E770391E7162001202BC604CD6FB2101FC1C5E5DF7F3BD67A160F2E411B4"
-    "521D4A1A76A9DF2C39E0F818BEC6DEC7920FBDC6C68394EAE01159761BF16FCA239EF6DA3E"
-    "3051DBA837DB936D3FA83230037DBD537F4A7E938E37F12BEA264835E07F2F030118E42590"
-    "987E881BEB1B69D9E0D3E7BF24172F5F4286231923AF0032F8D49584BA92585537B6126F08"
-    "7D4CAFCC850FC6BCFB5F7FD880C09476DFB393953533B3D95A85352B7BBCBF6561126D9D9C"
-    "F856D3B2E7EBFA746FB580A7D907D2403DC08C8E4FDE03647B8D10F89426EE60F2DF47B3F9"
-    "8E1400D1B67F4569976D1D3DC2E3FD65A0928229D9B6B53E4F2986A1D41EDE7B0FB085B6E1"
-    "E531C744C6FAD82B27077F8938789607B51A705B7AA0CA75F4C693F7DC7683234D9F1BC912"
-    "E6956BEBEF591AF83DEFAB206615CD1C98F7D9408D647D60CE1528C60520A68098D610BD4D"
-    "D66B91B52115B0CA40000679C9043F60B805D64663B978F9B29C3E7326AD1C585B5B97508D"
-    "24D429BBE0D1A01B7F5BF39F9AFC68CD6F3FD9678DBBFFAAA01DDB14B19593AED47E579A98"
-    "BDBFDE64C85BBD8A33B9B3ABA054BEC8BC66CBDFD96B0369CCDE779297CC5566C740CF3DC2"
-    "ED21942ED89AFE3DE0F2A2BFB93CAE9FF762D2C61A35D7D53E57C902E081BDD7070CAC1EC0"
-    "07DA2488417B194096DAB9D43E7CCCBA10B84DB84F8496A97A755229AD52E03A3099E3711D"
-    "1C52CAA4C59222EEA9A8983ECF08FA0331837E8A0508661180CC070D376DF36511E3D449C6"
-    "B4AAB238FB0C32C88B281D88878E045CBC289FFBFCA369EDEFA8C60FB895B6696F98FDF267"
-    "7F924FB769538EFF645A6FE3BC05C0047DE9C4C2266E3B41D9C9C94EEC0C289ED9D55E6B85"
-    "27BA862C123AD1B5CE66390C985E0C010B47507BE5316832D9F180C7D645C5D3E06D197861"
-    "ED3D967121153372BADBF7F84E5F9AAB81818AEB6BFBC00A6FBF6B4951209338EF02C9E668"
-    "718896D7BFDCB6E204EB8903C25E791E69094B6230BC71109D00C2E804FA95EA1F9D0C8E5C"
-    "FFD236C71EA9F3DC0DDCBE5E4C8D7D1F3891D7C2D3E77EEA0D8261EEABE40A88641150AF41"
-    "9A23E25DED64FA9A21087026C32A80415E16C14F102B05767677E4F49927D3264587B68FE0"
-    "977A3F92FC54ADF4C97E5236C2AA92F1B81689A3CEDF9F8379305960B3242C3704D8789AA7"
-    "9D50BDFDD0C54C5A36B90A83A0D0C46E275CCF84EF693E1CF9CF0066FDAC4C428231F53300"
-    "7801837C1F7B7F91C5E43025D0B0D702BC01E23A51A3BD34EF3EFA73737373CE7AC265E31A"
-    "94A1FB35D83AA01C94A1E5D97A58A2A6C778CB6221A0B340C40059221BDC865E9F689D79AF"
-    "012120B77D6A37076262CA04D1237B16443D626AC19AC96C296190AD271F67525151C09E8A"
-    "1D4B5A0726DB96A0EA7BCF9593EA8AB4E4B167F6FDFBA8E67D630880E61FE69A6A1628ACD7"
-    "CF362DC3D58D4C24BE715CD50F2F34F08ACA4000067959A5CE3B10229BE064DAC8B1A3475E"
-    "BB0E974017399027913C51F66986DB1429DC6DFBDB6993E7F2E485CD4430C1607F0221F0F2"
-    "34609145CD4F8C566527E952D29B924667CBE1FB799A286BBD0CE06C6A55A928156C09C8C5"
-    "F1C57A960EDB66D0E2A1C14B266CDBDBDB72E38D37A6BD200E1F3E9CB2EDE13D801FEFD1EE"
-    "0CCC168075AF06FC850548CB3F7FFE7CFA8B3CFE7A1CF7071940D9705778E4A66462B7CFC0"
-    "1AABD7DFF63B8F4C71B93C3E14D87857440B9A9E966DBF632B86A7D15F890878844EEFCB4B"
-    "5155ECAE843CAED98DE5F50113338EC5E076B36D6D9F238DE3688376BBF37AF37FD0CF8B04"
-    "29CEBDC789EDECC2FC657AF2A67D7355C77FB950C08ACA40000679792481C15E8A01D8DA3A"
-    "F8EAEDADED6F1D8D46EF19D5A3B7A649C7FEE02D38255250A78D7F000E2AC78E1D931B6EB8"
-    "419E7EFA693973E64C7A7DE94B5F4AA0A4E731905B9FA8677E5DF65E08C8F91A7B0FD600C5"
-    "0117155E5EC862C9026B9A914CFA56BC09DC8AD61F1AFA850B171240637F87E3C78FA7DDD9"
-    "AEBBEEBAD4C6478F1EEDC9D5731105F492E0FEE8B773E7CEA5BEC40B9FB54ED8E407D73321"
-    "62426581D5BA1B1834C5216BDC8F628881B6BB47123C2B81E73BE7F1B3ACAC5830A77B63C3"
-    "7B3EFBB76415E373B97E3CA6B8DD99AC5A8B822D5F64917CD9BE42FF5673E9AA5BD1D5409D"
-    "DB3FE6B5FDC1F8FFB3AA10F37B94D7D9064C9470772D9608B6B1BDAFAE8718009581000CF2"
-    "92097ECA30EBC384BCBEB6363EB47DE83B373737FFFAE681CDFBED84D2FB6CCD1CC75AB415"
-    "9D4400F6200178C1C4FCA94F7D4A3EFDE94F271001684083B59AB24D456B27769E70ED677B"
-    "7F369D725D3D133CD79BFDAA56AB128758A8781AB667DD10D33E1EC1D1EFA18143EB3E74E8"
-    "90BCEA55AF92DB6FBF5D6EBBEDB6A4E5BF94024DFFC48913E9A582F172F6EC5979ECB1C7E4"
-    "F4E9D3A9AE78E15C9014900AAF7DB9AD2399C03D42C7E06FBFB78491EFC71A3E133EDB6FB6"
-    "3FD81DC3E709B90DB80C1DC7DE58E33122852D8BAD2585EBBAECAF3826FC2BF5C3B26B4272"
-    "5754E9D51DC8D1FB6D8AE0EFD2031BAB40BFFB6F7F64DE1230BF1AA05B89D4B6F1EE493BAC"
-    "02501908C0202FAEE41F2826A94B972F417B5C3B7CE8D0DF387CE8C88F545538A6F7F64CB4"
-    "76E2E2EFEC357A9ECDFC063270DF7DF7C91D77DC9188C0273FF94979EAA9A792B95A77895B"
-    "06ACACD578BED99259D333C572E0983880C3CFACC7F81A21400BB43260D93389D9375F4DEE"
-    "D0E815F4EFBCF3CEA51AFACB21206E4AEC20B0063CFEF8E3F2C4134F2462006B01FA14D601"
-    "9C6B577A582991311E675E9F709F717643CED868CDEA1C1FA252B224D8F73616C21213DE81"
-    "4FCBB0F56052C0E359CFE7A0586F6741AFAD18C8AD366FDF07E316E0F810FE0D20A1970DF6"
-    "D3AC9F31AF06EA7627D5B40086E4F61554AB7F949911A0630A1D01686FBD7CE9D27522F2C4"
-    "C2C3ADA00C046090174DF08383AF1E66FE8DF5F5EB6EBCE1C6EF3D79FCC40F8FC7E36443F6"
-    "40DF4AC9C4CBD7B006D7E6DDE0701C80002270EBADB7CAC73FFE71F9C217BE90000444A014"
-    "B02766422B698ABCEC8D4DC325F2C00481AD0D9C498D27497E5ECF772B34515BE0C7F9708F"
-    "E07B98F6EFBFFFFEF43A72E4C842FBBE52055AFF5D77DD955E301B7FEE739F4BD601F439C8"
-    "80E473345F814DEDEC594BB85F4AD61C9B548A2D35A53EF134F7CA49E75BEA7B7BCC5AAA3C"
-    "0B954728ED751C68EAD55F1C2B81F7DB60299DE359B3F8B8D651834A914A5CB2A53FB6F979"
-    "A4C3F156CC5AFF857A58C37F7E17661901BBD5C561EDE9A79EBE7D20009D0C046090175CF4"
-    "470893F278BC76FCBA93D7FDCBEDADAD77EA7D584366294D4CDE792AA589458900B4DA37BF"
-    "F9CDF2DAD7BE56FEE00FFE20590510D00682600304BD32ADF064CC13BD070856738B4E6097"
-    "951271E03A3079F0EA5CD1BE00B080E07C5845DEF4A637C94D37DDB450F6D526D0FC61B5C0"
-    "0B02ABC0A38F3E9A5C05B070A08F55D8CC2ECEB8E1BFACA5DBFEF6DA5CDB5D37A50A1485AF"
-    "E772E01D8F5B0BC25C6F1E774200CC7BF7B3C6EE8D532BCB7E9FDE7126B5DC56A1B0F43650"
-    "C0606AAB949B42413F2C06FCCDE50908EA25B05F77DFF4E983BBE581310505E6D50855B857"
-    "44FED3C2C3ADA00C0460901754F0930493DFDBDB95A347AFFFF6A3878FFC625DD7731ABF37"
-    "B1B0781393D044ED7DC7E5EB7B901125026F7FFBDB5340DB473EF2913451C31AA07E54D5EC"
-    "ED7DBC7BB1E6C540C1DAB71070B329D533BBEA396C5560F3B338A4493F430B86C50391F530"
-    "F17FF9977FB95C7FFDF50BCF73AD088215F1420CC8673FFBD94406102FA04B0C3D00130231"
-    "CF02E08D2BDBE7EA5651B1267AEF3E422E00FECEDECF736994B46A4FB36722E9FD3EBC3651"
-    "F148295B06985CF0CBB6199BFF6D39E3512D559D631E52AE8F36837EE8357CDDF6D70609C6"
-    "68F47F6329B0A1826D8A3119CBEEEEE5DB161E724565200083BC2092A71B994C27B2B6BE76"
-    "C7F163C77FEDD0A1436F9002305BF126DED2F7DE397C8C5D02F6388010F101F7DE7B6F5ACE"
-    "F6BBBFFBBB29481026E32B695A3CD17A805CAA036B915C67050C1001DE514FEFA324C55EEF"
-    "6974D12C4983260CD2F39EF7BC2799CC5745D0C7F7DC734F8A6DF8E217BF98AC1FD6F5E311"
-    "274FA3E67157B202F018E66B978D212F0E80FBD4B31288B3D1958E1BEFDC12C1F09E9DAF89"
-    "148FC065785600EF37689FC95B2E8AD53D95AEF8EF82F65296CF1054DFD782661B05E50266"
-    "4440CDFE3816358AA0F329B46D83CCA327171E6445652000833C6FC18F37E5E14786BFF1DA"
-    "4FDC78FD8D3FB96CB2B162274C0FDCBDEF4AE759E1FB6B6E008022001FBE62803E5C020F3F"
-    "FC703A06D01087B0B01665419CB5216F122CD597CDB00C4A1EC87BDA179F8367453E04901D"
-    "F8F7DFF18E77F4CFB66A823E87E5033120887D403FC33A80F6E06443CB88A877DCD3623D40"
-    "B45622FBDEE60CB0E4C003630FD06D7D38BF038F130F84BD3124CE6F3538C97FD8FAC56DE2"
-    "B5931DDF36BF80BD3EA5A7CED614FE7DCC951BE96D2609F902B78D425E495055F5ED3248D7"
-    "DE43330CF27C656767175AE6AD278E1DFB77EBEBEBF0AFF93F5A23CB007DD977FB159DA034"
-    "DF3D4CFD08007CF2C927D3C40B933022E011390E9FF8C73EF6B1E426003094D67E7B75F396"
-    "5FD9F79C78A5E4F7E5B4ACD15939E0B919B82C7C8F0879ACD77FF7BBDF2D37DF7CF330BE33"
-    "01846BE0D4A953690CC022009001416000B6C264CB0337FD6B130195805F9CA04C6F0920F7"
-    "AFCD20E98DA192258001D982AD37966C1D3C2B849734488874302160933F7FB6F5C256E1E9"
-    "7EB847BF374036EBDB65B7B33B74AB04D24661F6C88C08F44A46572189B1990586ACB80C04"
-    "6090E724214757C3E4BF7570EB5DA74E9EFCD5D16874A83451AAEC17ECF9BDA78189A3C588"
-    "D13000FE08028409181A3F001EE6704D66A3A96D630E8C43CE006887F015DBF23D4DA994B5"
-    "CD8ADD0B40A5140058F2D37A20CFD6059D50A1F1E379DFF8C637CA830F3E38F71C83CCDA12"
-    "2400F90D600D00090411405B79D695D298E3BFAC11DB7800D6E8D952C0C7BD7AD8F71EE9B4"
-    "0492C76EA0E57E3695B18E512F28517F47EC92B0A0ED8D59A1150BF67CB69AF0785E5FCB56"
-    "B87EE95F9BCCF9FD73E273EF0AB06600F5F2CF1202CD4BF719BF8F0307360F2C74EA8ACA40"
-    "000679D6829F1A803384B07DC3A9EB7F637B7BFB1D523053AA9426543BB99408007FF62665"
-    "3B212AF001D0A1F503F491D14E93C6C0176CF70DC0B5DB5BDB7DCE002601563C33294F9AFA"
-    "9EB52DCF42C09FEDA4CBCFC7A4C05A044070F0FEBDEF7DEF3511DDFF6289B62B0820822131"
-    "8E35F360C841939C00481C22E8114FEE1F712C3E42897DBCE44225B2290E2154E1F161C71E"
-    "5BB058F3662D5CCFD3659481F65DB0E75A10E7FB5485ED80ED7DE7098B207E2857A0DBF6B3"
-    "C9DB7F0783F9FD3A00DD193411841C28D876075AD335693541BAAEED948267F69E7B2ACB6B"
-    "4C060230C8BE457F837B933DD9D838F0E0F5D75DFF7FD575BDE901B28A07DC9182AA8492DD"
-    "78D77AC70205625569C3A0715AFEF5D0430F252087091CE0AFFB064033C339AAFDEB44346D"
-    "A6C91D007FF1673EF39954064082B52E8FB0785A9BD5BC8422F84B417E1E91F0B437DB1698"
-    "D0900C072407E00FEBC6B52C57B2302D130B90DA8E180BC887007208D700FA9D13452D13AE"
-    "873726F4B30DE6E43165970A5AD780B7F3211309252E9102459938D8E3DC86FCACBCB18F10"
-    "F11403FE4244A074CC5A00BCDF0D9200F52E0081E65F7529FD9DDC0D316A2E002D87720186"
-    "CE2510C40601A62FD0460301C832108041F62DF891217FFFF6D6F67F7DE2F8899F110790AD"
-    "B0D6EF4DA6960C7864C12BCF230DD0D831C160E917B478987811E0876398D459DB80AF1FC7"
-    "E016B01323480002C64002602ED434B31E112801046B729EE624460B62F2B38C4C70201540"
-    "0BBE6D807FC96A71B50B8F316EFF121958F69D5EAB608C7EBFE5965B521E01C40768EC882D"
-    "8BAF5F04B0C5E5A01EE07AE491C78D470CF9793D97901748EA9DE391583144410ADB2D7BC1"
-    "800CEA156508F43E7BED8136D77D26628EF06FA3F96DC4940A7061CBDFFE19ECB2BF6C2968"
-    "678575CF316D709FB10C92642000835C5982EEC73F95EB4E9DFAB9ED835B7F4352A04EEC19"
-    "B80A4F2C9E29DBFB2B0E607AE02A8E391D600E6DFFA31FFD68BFDE1D5A1D8EA996EF8946C6"
-    "33098036AD24C0FA873D40F126656E0B7E36EF99F53B6F7F010F30700EC01FF5C412BF12D0"
-    "BD92A5D4BFCBC46BBB52391E4163AD57AFD72C74700B800C2090525D411E587AEFB95E766C"
-    "E8F8E1604FC9DA7669BB600E22B5655B6B92E71A607269C797055F2BBCE6DF827C29C19010"
-    "987B6391EFC7D601D40B04606D6D7D56E73CEF44ABDBB7B93D678D3DBB477FCC26109A5DDB"
-    "590D4000EA2138268B3F330E3288114C8EF8211E3B7AF47F06F8F72654FA9DB389DF7E6E69"
-    "2732294CE66236C62995A57F312101C411E4F73BBFF33B696278C31BDE904CFE20021E6073"
-    "7D71BD6603943C316132C67A718DA08725802743AF5C7B3CD2BA69EF7CA189904DB6522043"
-    "38064D15D9EFBEF11BBFB158F6AA8B07FE1E59D0F647BF63ACC37A8478108C0104095AFF7C"
-    "A90C21C0F7FA31D05238AB69DBFDF2ADA9DC2E97630DDCC68A788181D1F8E1F5189361D6DE"
-    "C500BFFDCE6AEDBA9F7F2898F66D9DB82EDC0E564000C6A3715AFB9FF477254291E6875EE3"
-    "B7BFABCEEF1F75C740E90FCF24B955D08ED54000B20C1680418A9282FDBAF5B8B7DF74C34D"
-    "BFB6BEBEFE46D636583C6D2852D4FB95088037C1B2D95797EB610D3F7CE0D08491D807E67E"
-    "68FDA5A4257C1FBCA0F1C5BC57BD35BD62673C90000412AA86E895E9593C78E9175F238565"
-    "58250DD512053C2FD6F77FF5577FF542D9AF54F1FA749970DB95AC29DEF7DE67B9421D6C9F"
-    "80F08114228910DA1AC9946025B2BB493221638260C19CAD47256DD91EB751F9ACFD7BE019"
-    "29F0CF5A1DB87ED6F2C06390DBCD5AC62CA9558DDD736FD89747243C32A296B7D1789492F5"
-    "201EA069A72908B0EA5700C4942408017F9DF131248F405AF6A75B04C74C1EEC0281D84701"
-    "A84B61B10157540602308823DD8F0993DED6F6F65F3A72E8F0AFF232219E6CF9AF77CC4E32"
-    "A56BAD78D7E02F3433446D23952F26658021262368FD9E46A3C25A8A9DD850265607A8B6AF"
-    "F7D4004258195433B21368A45CED254DD19A4EBDAC806C05B0D76B7D703F24B301D1792583"
-    "BF07D6CBA4644EF7C8E473F91CC82CEE95A5A2DFAB5B08DB12234010BB496A60A807F87CBD"
-    "ED43CF24EFF57BA435FC9C9FE04A2487AFF59ECD5A123840957F1FEC0EB0CF63A3FBEDEF54"
-    "08E4F5BEEC76E057B73CEF80ACAFADCBCEEE0EF2F5771600BCAA3AEFFE27DDB6C019C1B144"
-    "B06D733B67FC57ABA4E60E90BC82008FDA9FB3B0C1C0EACAE2281964C5A5FB214FA7C90CFE"
-    "B78E1F3DB600FE563C53BDF71263DA8FC61FEA9D1B4D94B63D07F5005063F7B7DFFBBDDF4B"
-    "F9FC5FFFFAD7A7F3303997CC925EBDED79D612C0932E343EDC07D1F520023C697A939F3739"
-    "DB7B7913B38AA7316AB958B70EF3F4BBDEF5AE85325E09C244CD7B568F18F277A5F3BDF7DE"
-    "77A53296D5CBEB07F435E20000FA77DF7D77D250E112F0EECFE558D0B7CBE11804ED78F2C6"
-    "6BC9E42F446682134CEA95B7ECBDFDDEBA1EF89EF679B45E7A5C970E46CA01E0B52F93A8F5"
-    "B457C32C621F3B898A0278DE1320E4D8A35425BBD4326BFF69E39FACF077E5186B80FE0D03"
-    "EEA90C0D31C8BCC498D8F8A1EDEDBF7BE2F889BF2F068C553CAD5C9CC94285C15DF6714C08"
-    "FC75331704FA615BDFD7BCE635695206F0C33CCF13E87EC502B3120C3193AAFE45F2181004"
-    "BD977D6E9E10BD49CFD64B7DA8DC9EF6B3D60B04049BD940F387DB03E0FF4A8BF667ED7A59"
-    "FB07C75D62CB61605D6615F0CE17676C79E3D31BA7B68E62FA012400E3EFD5AF7E7522824A"
-    "02968DB79225CA6AD2212FDFB3DF79CFEF11020FC8F57A94E9593D827127D860406B15B071"
-    "486D4B0000200049444154EF3D325D8AE8B77D6B0904BEB7310376ECDBEBF1777D63632E83"
-    "DF2C1628B7496606315902E6B7596E5B7D3F3BBF57F8751C4857B7A66D16D71CAFA80C2E80"
-    "418C749BF96C6D6DFDC0A1ED437F5B6CC08D13E423579884AF748EFDCCA64DFB5E9706FDFE"
-    "EFFF7E02FC2FFBB22F4B60887CF7AC593D17D1894B530443D3833BC04E90380E12005740C9"
-    "05C0665D4B106C56406B46B5EFEDB303746086C676B60848C37EFD58DD000BC02B5D3C70F5"
-    "B4649B70C7B6999DD8F73B563CCB94375E4B6394EBC6E52809C0864AF88B716089188375E9"
-    "79C55817EC773CE6793CD873EDF936329FCBB6E77279A500D5528E7E5B3EBF67526273082C"
-    "B342D8636905C0FADA9CE5AF1B1F92FDFDA916D9E43FDB18A8AB4BB604E47FBA32E36CF540"
-    "4F00F4616496A671C565200083641F592BD3C90440F313470E1FF949A12035712623FBD94E"
-    "689CACA644063C4B823D86F7D0C831F9FED11FFD519A58B09D2DCA8716560ACA2B1DF3267C"
-    "061000350807347DEB56D02025C4042002DF6A6E7285493B3ABEFF7E12ADAB64D2847B01CF"
-    "A9F707D9C0FA7E64F54330A2E62378A54909684BC7B9DD3D2D9FDBE84A7D593AD7AB83251C"
-    "1E79E036B6E7AB0BE8B6DB6E4BFD899C13E8178E0DE16B2DE85A5FBF829C1D6396147ACFED"
-    "C588B0B5AA6451B2CFCB0435507C82E7F20BCE324215ABC9DBF34BD6038E29403BC2FFAF44"
-    "1926FFEEBD3152A39CB8F89B4D1683BE3AD6E4AF3600993BAFD19B0C321080959720C9DF2F"
-    "12AB63C78EFDAB43DB87BE5908FCBD493792A9DE1E630DCB9B9C4B6588014C002E22F01180"
-    "05308426AC19FD3C93BB07903C817913AB5D77AD1A3DEE8D79428302F53C68E038862044AD"
-    "83D59A6CB93CA97A91DD972F5D4E9A3E401E2666948FA0331000100158222E5DBE2487C7AF"
-    "3CCDBF64D5F1FA7D19187B84C97B5F9265E794CAF60881777EA080395D128BD521002D8C4D"
-    "DD77C21257BDA632EBFA85C91F2D09E4BAA87896225B96D5C039CF0093032ECBABB39065A1"
-    "2A2C81B5E398B57A761558AB003F03DA14443FEDD6399D26C8C66F0F66FDAA0AF3A0AE4102"
-    "39D14FD09C00DABE6AB5547781860AE443797F90C9C24059511908C08A4BD642368E1D3DF6"
-    "DB9B9B9B6F64D3A44A49932F1DB79FBDBFE24CB60ABEF8910280E1EB47563F64F483260C30"
-    "64CDC4D3D89689672AD609C92EF18A796580AE0DB75A13820211A9BCBBB3DBA78D65ED4A1C"
-    "6D2D66FF2CCA83FB02029FF27DF7DD9796318204A02E2004B03EE07971EDE1238717EAFD72"
-    "8AD76FDE7B4FBC7359A3B379E7B5DD2CC9E47169AFF580B624B65F18284B6528C8A27F9034"
-    "08E3E391471E5900712DE74A41A33C964B75F1EAE17DCFA4C2037BDB5E4CF0D93560BFF362"
-    "06C42102963094A2FFC5B82BF04ADB338F46B29BF7E8809B3E6D041432F1C81BFC2CEBDF68"
-    "CDFC41FB7506FEF81656860B172EEC1486C4CAC940005658F2C4BA75EAE4C9FFBCB6B6764F"
-    "09FCAD7813B82C01FED2779E99520112BED50F7FF8C329D31D4CFE0046D5B8791229D5D54E"
-    "5C1E602CBB564C90148808C0DA5E87E3478F1C4D817976C21602350600582E50164803D2CE"
-    "82D460499F269CD10D69AC2502310075B5E8EA7829653FA0CEE0C5EDED4DD8F65A0B3C2040"
-    "6A6EC771B4D7786DDCFB7D93BBCAEC17EFF5AB772F4FBCF39681B4CC7E3769D929FA0FEF61"
-    "09D02582B61D82139DCFF7E1FA32B8734A5E7E466FE589B50E784B0FAD8580E30802651914"
-    "32D9F33D35B0CF5A0BC404C7B2D95FC86580631B070ECCF6F88BDD2640FD3349A7DA9B1924"
-    "6F004463AA53FF17B60AB6E98491CD746363632000590602B08212CC247668FBD0FFA3E0CF"
-    "263E156F72E0EFD81AC07F8526399E14F159F3F923D80F20802D6D41081005EF6D4EB2DFF7"
-    "DEC4C8F5098E9F14DA9D12128D39D0E757D046DD3893204F9A00339C078080991FE08F54C5"
-    "F81E2082E57D6C9EC5BD713F0D807CB984B5510F3085809EDB96C7832D476329B0231F5EE8"
-    "772F60126D8176867B0456134DD10B22B08C742C138FA432E87A65D96744FF81C8A18FB1FB"
-    "A42E251507A0C50484B2C9BD64D112C705E081B047783D6D5FC50B5CB500CDE0AFE57920CE"
-    "DFEDE765FB378D73FD0DA5FCFF4D7205686DD14255F2DFCF58408B40C054EFACDDB7D94A10"
-    "BAFC01B9A744370E8839BBE0743AC1D8198200B30C046005256D92D146D93CB0F92BEBEBEB"
-    "6F5906FE56EC24CEEFBD631E607884007F15FC91DC079FBFE22BBE224D949860792B52AEA3"
-    "9D884AE794BE632D8FEB8BB60108039878D2847500F5F32C2721FB3661C6C779007E98F911"
-    "CBA0C76D9BB39544D3112F7B8E175B9691396E3F3EE6B5259703F0473B3CF6D8630940D1CE"
-    "B078004435B84E33F3E105C205AB0B5E3807497A707E6B7676F4EEE7890792ACB92FBBDE3E"
-    "0BEA85C0408C11C4ACD87E8B4BCCEF2C9549E4E31155EB87F7EAC1F1067C3E9BF4F9BDF71B"
-    "DB8FD9DF9EC76584424C808A12FF14783BE95CF33836CB0098BCF8890484B980BE6C15C887"
-    "D296BFFDDE247A3C66E04F1E815406FAE691473E355800B20C0460C5043F0800D0F6F6A15F"
-    "D93C70E0FD16FC3DF1B42421E05FF6BD3865F07B0024267868FE98F8DFF296B7F466600BFE"
-    "5CC7B0CF58006F32F726409660A29E0138002B5B1E8E614281766F770DD4BAE3B9EEBDF7DE"
-    "04FC9A51105AAE380064DB0BE7A13C94FF724A499B2F1DE3E7F18EABE836C6584E87258EB0"
-    "8AE099BBE0AFC52D9E353012DFA31F6035414228B4D10D37DCD0E7682899DB4BF5F43E7BCF"
-    "B6CC5AA40983B04410E318A983D1F742C44268AC7956232B571A9F2A76FB604B0238EEC096"
-    "6597B07A01B5917CFED6AF2FCEEF8BC15E0C49E0DF6834B106682FB4D5FAFA9A4CA6790540"
-    "D3745AFC48AD10A10FE4333DD2AFF6CF618229E83FC4F9347F9D75A0ED959EB62BEEA98546"
-    "5C511908C0352E76E269BB0D7C0E6C6F6DFFFBCD0307DEC1E0EF99FEC501F392C6EF5DEB81"
-    "887D8F1F3F343A04FC21B84E2751BB57BF270CFEA5F354BCEFBD89D1D3AED04E6999D2FA7A"
-    "9AE82D004003457D013EBB7BBBB2737947AEBFE17AB9E9C69B12E8E3856B00FC5CB6A7616B"
-    "9F20EEE1E5929206EFF59FF7F94AC701FE8885C0B6BBD09C15BCD18E25512D1FF5C29841FB"
-    "8068814460E73EF40DAC2B285BCF5B561F6F5C2EBB86DD011C65AF3109F7DC734F3A8E6753"
-    "F70D8F31D6D0F93768F3ED8B63E1F2FA87EBE381BAF7DC5673B7E4A9E402F0CCFB9EF65FD1"
-    "8642AE45211BF9671938F7A40A954CD58A91B57C5D05B0408854CB17111E6A310700C6EC3A"
-    "E8B20776D73D75F6A94F2F74F48ACA4000AE71E92782CEA75D1D3C78F0B7EAAA7E93F5B30A"
-    "4D12256012870078C4C08ABDCE961FF21A7F984C91DD0F267224BAE1DDD7544A1A0797B95F"
-    "59984C0A6DA0A2AE00808B4EF651D72FAFAF27800781C18A855B6EBE254D6AEADFB765786D"
-    "6C5F0041900A94FB724A89B0ED573CE0D4CF683F0024E22010FD8DCF42D778CBDDF42FDA11"
-    "E08FCFF0BF8360C192001F3CAC2D3029A31D9F0D89B17DE18D3DEF7C16DC53E33CFEF00FFF"
-    "B0DF54887F4F1E787BD6347B7FBBBCCF6E1D1C9D4454DA76ED927D046CD9DE1A7EFB1D033B"
-    "5F27E637C9E77B8441CC6F0D4403BF95A6C9593FB3C62ED95A19B3493FE4DDFE179F479708"
-    "9A2D80352D005602B4F3A9FF71CDEECECEE98586585119088091517D6D35077E245BDB5B69"
-    "9DFF68771700F51F2DF8ABD81FE595B47AEFC5DF79F5E0F7F8D123910A34FFD7BDEE756949"
-    "15A2E0D9DFCF529A489E8B2C4E268B1228925F9304E975202CD048B10D31C048E3022CF07B"
-    "EDE9B5A34ED83077BF94E2F5D932F13450AFAF85888E6AB7681B757170347F9553C7F2F5D6"
-    "FC6C2D259AAC093BF761D508DC0258A36F49C0B379268F547ACFA962C989E4150C782E1091"
-    "4F7CE2130BCFA0E496356E1D036CC21702729B2C48DFDBB6F14CFBD14952653F97AC20ACF9"
-    "7B11FD5EBB71CE00B6D4E977D6FF3F994C1370B79203003BD49FADF15712E0CC25F953EF0A"
-    "E8EBDCE93DC9F4AF16879DCB97E4E2E54B0F2F74E48ACA4000AE6589924C6A30AD1D3D72F4"
-    "5F1DDC3CF8760BFEFCC3F5B47CFE6CC1CA4E90ACDD7893A61E03C029F83FF0C0034973861F"
-    "DD0B72122228DE71166FD2F68E79D7F1F9F61A9DB0002C3061C3DC0CFF33CCFCB066008C74"
-    "299F10F8D936E0F6D5B6D4B801CE32F862CBB2B679B61AF4B263B63D74E5846D2B057FAB89"
-    "0793A8C9F68D0541B59C202810C4022E012CCFB3DBDDEE4718F04BA6FB2B09C601C605C608"
-    "021C3B0DB799ABB790D99EDD01162C8508903863958F71801E3F93BDD6D3D83D60F7AEE1A5"
-    "7E4C109669FF18EF487C85B1A0161D803FB6201FD533FF7FD2E453478494EBBF7707048DFE"
-    "EF909EFBA74F08348B254CB93BA693E6330B0FB5A23210806B58F0B3E940E5E00F1E3CB8F5"
-    "2D6D0E8609B2F8A3F6C05E4843F0B4FC9259DB1EB393094CBE9FFFFCE753F214ECE4870900"
-    "13A5CDA6E74DBCDE24B74C3C73BE3789335873BD85C80026724C6EF04103F8416674999FD5"
-    "D2BC36F5DAD0122ABC5E4AEDDF6B0B0FB0F7FB79D9B92A6A3DB1BBC659D010EA77B620D8B2"
-    "398113FA01FD8276445C095C0CA5F1E489BDE795DA420C80F33931078222BE01E302562268"
-    "B9DE33B0F5CD1BB74C1AB48E36B5301329FB1CB67F036D3D6C9FC53E63E93B7619D8FA9740"
-    "DF8B47D03B6DAC6FE8C34A48B932A63DF0C7BCCCAF370564937E17FDDFCD63E979707E1B67"
-    "D1FF21F6A0AF7B99C464E1AD656777777777E7F2A30B9DB9A2B2B87E6A906B469A16EBD8C7"
-    "1F3CBC7DE8A7BB8D34DA1EFC2D23F7805B68373E05283DE6992FAD4666CFD572A1093DFAE8"
-    "A3F2D0430FC99D77DED983BF382069CBB6E24DC4563C82E0694B57123B79A9E956C11FEBD0"
-    "61660699D1DD08B9BDBC97D7861AF58E3230A1A3CC175B4A6DB8ACDD3D29B5E5F3E923065F"
-    "3B2E342F824DBB6BCDE462B44A9CAB4B48BDB165C1DEFBCE7B268F0097B4645824504FC4B5"
-    "683FB3295C854DE65E5D5833B7D75897897D5F5D2185AFA7FD0B69EF7C1FFDCE6AFE1EF0F3"
-    "733211906C055ADF584FC979F499F13E187FFEACCDBB6BA29AF973805F9499A9BF6BB2FC5D"
-    "9F1028F7574A32360619FBCCB967CE0D310059060B8091E0AC27BFDA447F70BBBB3B72F4C8"
-    "B11F3E76F4E8DF53CD5585271A9E0023EDD5CF66D4D2C4E9FDD5087AFCD801FC5822854039"
-    "04BA69AA5B9E54C59984974DCECFBA9F9DC0B4D2840B4D0E4082FAA3CE6B69CFF24EDBF440"
-    "CA6BD32BBD24EFFE0757C80BF17CCBC42359DEE765DF79E77AC7BC73F07C180F4A9A546C90"
-    "9B3716745F0464DC43AC05B47BB499646B82BE87CB0B631DAE145D16E88D1D4F1BDFCFF394"
-    "2C08815606E03D347FDDC511018AA893A79947F2FDB3B58BEB1FC9A7EF69FA56ACBF3E9A25"
-    "7D9E25808989E7CF0F4E3CC032AB80D0EF4AB2D5060A412200C9E72F49FB6F264DB741963E"
-    "735EFD9F4CFFEAE5D7ED016387FAFD5B992539EBC98069A3D1A896F3E7CE7D643C7E656DA7"
-    "FD72CA40008C780965AE46D99BECC194FC210BFE6C62F426752F62DF7E2F737B742F1281E0"
-    "6CAC83C919133E22FD619645C01F26739BE087CB103341F3E4B64C9E2B78DAE7D58951CDFA"
-    "2000D028F10A393BA06D0B5B86D72EA563FC3D349F976BDDBF3716D81CEE9D57BA7ED9B198"
-    "4DD79AC14F453FC302C2641563083B30C29F0EC1CA11F4932EB154CD147D9596DEC5D9DA78"
-    "94AB1603EF1997D5D7CA32978498B1CFEF513FC42368A643252662347F2F3E202CD9D84788"
-    "34D8B4BD7A5F5EC6D7D226549E55803F0B918DD239B60D544AA4C23E1BFA0A846DD24CA44A"
-    "63622FA5EDAD44498705F585D1949F2F984C7F790340F3BD9201948BB6FFD4A7FF7FF6DE3C"
-    "EAB2EBAA0FDCF77DF354A34A9235CB48B63C626C83CD641C4FACA43B4D67F522BDE86441D2"
-    "9D4056FE617213C80A7835B0685861B4C922A48319C26463B0DD74023618D9B2846D820149"
-    "D664CB9AA7AA5259AA5155DF704FAFDFB9679FF33BFBEDF3BEAF249525B9DEAEF5EA7BEF0E"
-    "E79E7BEEB9FBB7E773EFAD377DF2A6B1E77BBED25400209A7F8E53AF9E29E1A53F76FC98CC"
-    "CFCDFF8F171DB8E83FB6C05F1C4DD0065A592B80075ADE77DEA6455C6EBBEDB698AF0D9F3F"
-    "FAA86575BD72A41EF0DB88E667A2254F3A5F011E6E092DF18BE233AC4D723B9EC5E36C347F"
-    "1D63081BC8404120E1B9A060CCEA763CBC71F0B4666B9A3F9B36F97CCDD5D752CB2A1400C0"
-    "B5A0928E35040200FF7DF7DD175783C4F340A0255C4900575803D4DC6E4DDA81322B5AC180"
-    "ADBEB68EE371F1C0DA8E9BBA782004605ED988FE8E5689B491FA1E085B6B818DC667E0E736"
-    "58EB5781C1BE679E4BC013105A667FDE67CFF1E6420ED20C43EADF7AAA0498ABFC4929ECD3"
-    "E58C802E07FD0D5B7AE943896A524120F908D2580C6E81B870D3DD5FBCF9D0E1A90740691A"
-    "03F0154428A5B930BFF0DA0B0F1CF86349CC4726805E4B93B5BEEAE0F8F45BDF1904C1BCBF"
-    "F0852F64B3BF6A69CC285BED8861CEF63B1FE71DB31D792653000952C9C0A8A1F123921BF7"
-    "80EDAD7EB6B6F1187A1F8D29D072C75A0AF9D9266F2C6507C28A3DCE5A7E26B56941D86B9B"
-    "8300F537BE03DC390B422BC561C5440448E2D9407384591D421AB249666667E28249101ED4"
-    "1A808F8EE94EC07FBBB9E381B2775F6C02D76D1054E00A80DB02C22F83A727500801BD0560"
-    "BD9697EE67FB6785066D9FD7B4F000DC0A0DFC914684BF8D29F0C09F85225DDB21F2A86EB0"
-    "00215D39DEA39AEE7B4DEE1B2C00835F3FC4C0BEE19926B7809DB761A8F817F43C91386790"
-    "7EFAF9BB3FFFB94905A7CE379A5A0088B204FA02A4C4A0972FBEF0A20FCFCDCE55D5D0F845"
-    "6C316D0B061EC87980C164F3E511E90FED0DE57025A547D9687FBD16076BD976AD39DAFE3D"
-    "1BB24C779456E9D3DC7DFC464D0200BFFAF93DE0E33E7A96013B7E42C28E0DFEC375CE95F6"
-    "CF7436029205A349DABE7D06767CACE540357F1D0705698C0104303C0798F7212C627CB4AC"
-    "2EE68F2400D1DC7F58021E7EE8E19877CFEB3530E8B1D6DDEA7B6B7FEBB71D130FC0793B40"
-    "0702000A2069C0E7C8D4EEE7F162C1C506E2F1BBC0F7CAFDF26A0388E105ECBBF7AE6F8F17"
-    "23E0D8FDADEF764C34460302DBC6262A7ECE0CEF1A9E13FA2A43B47F97B4FCA02BFF01EED5"
-    "EC8FF5017ACD1228818174B174BDC112B0B2BC2C77DC79E76D274F9CBC17C2E3673EF399B1"
-    "FB3E1F692A00102148E4854830802177766579E517E7E7E72FB3C555C4D1DA5AA02EC672C0"
-    "71011ED0795A0BC01F265B686730DB8201A9AF3638A6FDE0986AAD69530CC37E26428010B3"
-    "D2FAFCD02CC19410E1DF53A5394F00B2E3D5129EC4C90CC0B351F0EF530D79AD757F2EA805"
-    "DC93C803244BF65930B540D16E83100060E467894048088D181794F6E5859874AD8040E998"
-    "48B58310F0C57BBE28575E71656CD35A99BCFE7BDBBD7B6ACD397BDF3A9F6C854D3D06F30C"
-    "311E4853442C8C5A396CCA5E4B00F6C6D082370B05320190ED71F61A2DEDDD2B04B4DDC792"
-    "5E1BCBFFC67BC57B205DB45EE6B14D0BFF49D2E0C99E34243177F47CD4E44F970A863F0D3C"
-    "25BEEB7F034B12DEF1DFFFFDDF7766C4F9475301806876F4021C8E0E80BD29FBF6EC7DEFD2"
-    "D2D23F5706E981A30525D6C0C5C401B0C95FCC0BC50C8B8502F5F923DA1F3E7FA4FA69FD7C"
-    "6B8AE5F42DDDC7A0EF693F814C9E96F9DA7BF4980F5F3BA45C6DB8273066600A5A96D68E93"
-    "385ABE384280A7F97B1A3F7FC707EE8667BBF46F0B945BDB3CEDD6DEAB0798DE39769B771D"
-    "1D4F9881351E40E70F2C30983F281405A1EC924B5E341620893985E707827F1DC77FE1EE2F"
-    "C815975F11CFD10A81B6FFADFEB47E334D9A5356E8F18406DC238A15C1CDC10183D6C2A5E7"
-    "79F9FF3630D0DE13D7066805FC891122AC86CFC7B43E6C21F0048396101852FADFE28246FF"
-    "8F64E3CCBAAC6F6ECA7C740329F80FA6FE9805806BC426062B4020BCCFDFD3FE2155D0BE7F"
-    "215A1A1E7AE8A18F607C3855F27CA7A90040F442740160D9CC95E5A51F05F82B688BF3D27B"
-    "003EE963FDF12C2488897456468217FBCE3BEF8C66DC6BAFBDB6D2FCF5380655CBA0ACA936"
-    "181FA7C7543D41471A8024C4480110882CC73160CAD0C8B8C6BF27F888037A16E8F9B7023D"
-    "FBFB751BF6C3D40DF0D7223193FA7D36B453806BEDDB4E73F7CE69B5E7090142F3A74B51FE"
-    "3A2E312072763606F7617C50E35F4B07ABD918CF0EEE02B80954E386B560E6F199E8768255"
-    "00FB3D5FAFA7617BC7B0E6BC9D5069E786077A92E2196001403C00DE11DC8F15C6EDB52D79"
-    "057A26090E5E3B16E4BDE0432FFEA095EAE7F5D7EBBB50FA1F52FD36D687D53EE3730A9AE3"
-    "DF0FA1690AE82905A0CF3F539E7F5E21B016094232FBEB5FECC74A83274F9E0C7FFEE77FF6"
-    "C9FBEE7B4076EF7EEE16DA7ABED15400205A59591EDBF67C25355FF77DF8F63DBBF7FCB802"
-    "8D92D50C2681BD052F4F8BB54C8EC11F2F31183334363036ACE8D7A51C7AABA928797ED98E"
-    "96DF951D30D69D3067DB3E08FE7E008B46F9875486D71B2725DB176FFC842C270CF61EF8C3"
-    "ED80FB84F061E335762204B4C6A445DEBDD87626ED6FFDF6F6B500D01ECBF7AAE67D7CD432"
-    "82BA0BAF7CC52BE589279F90C38F1F8E63A6E3AC71013AFE986B184B04043EF0E00372E5E5"
-    "57CAE2D26295B6E9DDAF777F769F15A25BCFC882B827F4A8B549D78AE0B6BCF9AC7FAD45AC"
-    "77EA26D83442AF8F363090FBD602722B74B0B6EF9DEFB5A1E332B808E7A54F4BFF6EA6D2BF"
-    "55F642E8A3D63F44FB4BCAED4BEF9D6E9721D0AF63F0973EAF1D305C6FB8CFB5D555B9ED8E"
-    "3BFEEEE0A1C30FECD9BBE7CB5E6AFBF94CD391207AA19886BA1410331B665FB9B2BCF27E21"
-    "BF3D530BAC2C60B5B6F3B9761BBFD41AED0FDF2D564263F0F73411BE0E5B0794F87A9E19D7"
-    "63B01EB3E36DDA0EA2B0D14FF4F9C00517C866026566B45E5FBCBF6C71E1003F35F35B2140"
-    "FFC22A02D0BFEEBAEBF239362ADEBB1F8F3C70F5FA6BBF7BCFB1255C79E7B668A7828B18D0"
-    "E0D434056D1D4768F35C8701CF125A23E618A7B3615C77ADED42264C5AFFDD7F962DF06FED"
-    "0B8E56EE01AC1D43BE47DD8E7E23DE03F783804068C39DA921609F8D67EA67ED1F63A06366"
-    "AD0256C0B0FDB2C0CFE758E067B281857ADD492E8090CCFFB3B110D45634FFAFAF23BE0359"
-    "01E4EA53DC37C180522AFCEA800F59005DC8BFF50FF3B3A5E565B9F3F6DB6F78E2C891681D"
-    "F29EFBF94A530180E885E20240518BCD8DCDF93DBB76FF115EC40DD36F8F295990B700EFF9"
-    "FCC5A96B9FFB9098123431146601A8C2E76FC19F1940CBCFCF4CBC759C572485B5193E8789"
-    "1919347F0426820143F36713B1BDCF497F3DA1493F0CFEFADBEE03E3476604345C8C1BFE7A"
-    "D1D816B0BCE7E0090AADBE7BE7B48EE94D5EBBD73ED376C0E99DE35D538C1F5B92706B055C"
-    "3BB718FCD4B4AE2E9DEDC6C7135A260940F6BB07FA93C6158467AE56003B4E2DF0B54200B7"
-    "69E78F35ED774EDC803DDE9E374940B0FD924686000B2C781E1000628D7EF4633404470EED"
-    "14F02EE7A580BF1826385802CAD2BE250AA00B1A1BA025826B21E0C4C913F2E4D1631FBDEC"
-    "F22B64EFBEFD32A542530180E8855008082F07349DE5C5A5F72D2C2C5C6B4BAA5A86EBF9F2"
-    "9939F526BFDFFB88619ACA50E0BBC6CA6BD0FEE1B385195703FE42435BF7C0BD333E47715C"
-    "049E866A41DFFEE6BF60B6588408E00F53B1469FDBFBB2F76AAFCFA01F26F8F9ADF6AFC185"
-    "085683F081C035B84B7652FFDF8E616BBB770C6F9F0462DB7D6F51EB98569B2DC1C36AD436"
-    "2DD4132C18F434AD2E24CB81385A6B8B5A73B5753F767BE7141AF20403BD4FCC3D0800988B"
-    "5CC990C132385ABC15F6D81DE065CD0801BA07E2C1A9F2C7E7EDF4E30952DC9EBE27484F46"
-    "195E15CCA0FDE33BF8463D549CDE2709E0250B09C3B2C07D1601FA8EB5FF20DCD8DAEA9A3C"
-    "F8C0838FDD72CB2D1F9B9B9F93A74E3F35F64CCE679A0A00449B2F000B00225AE7E7E6BF7F"
-    "6565E57FB6E554953CF09FA4F14F1200C480BE6E03F823FD0A35CE9183AD0BE330D3F5B433"
-    "66722C048464CA54B25A3EFB40F9180F14C56827F0F7C34A01D085FFB555C7BFC5B45B4292"
-    "FAAAB71302D40A00F703CE43512458230004D08860E256D3768B997AF7E96DF3FE8A03609E"
-    "C9D9A3D6764B16445B7DF2FAE369CCBCDF13286D3B16845BA0D922EFFA3B39AF2538D8FBE5"
-    "FEF5A90C2E0400AC6F0000B4CF431C7FBF156C95AC39DE0A0FE200BCD03BC8E3EBF9F5F9C3"
-    "C77A9ABFB564709FE6171772CD7FACCC87204006F6A019000AF81DE7F60FC67F80FF901D90"
-    "620046B61050F1FD6331B4A5E52539F2F891FF777E76F6CCFEFD178D3DBFF39DA60200D153"
-    "694191E72B0D4CA27BC3DADADACF8BF392F1364F5B6D7DAC55C00345DE06BF254CD71A71AD"
-    "B9DA9E361A1AF9CA16DC4769C53D5B9CA465EAF78885066552D0FA1F7AF8A198238EE86B35"
-    "FB7B9A25F7CFBB77160418FC39AF9F83D8AC2080CA75580B01808F0C04496970BA380EBE5B"
-    "6014630DB17DB6DF27019105B99636EED1A47DB67DEB3EB05AACBDF6766DDBF6BC00520BF6"
-    "761E3E1DF2C6D36BDB0A21DEF5EC731896E95ECEE0EF09625608E1635AC28077BC27585AF3"
-    "BD5D3B401C60E7ED5610B0EF3BFF8EC27D5C136436AEF70FDA88EFCC5614047AB3A67F50B7"
-    "BEBA0322F6F795FF3F823C09087DE8354C60B80FF4A31B6245FEF8FFFBE30FDC71D75D31BD"
-    "D47B36E7334D0500A2B5B5E76F7A485CDB7F7D7D717979F9F7BDC554AA631DA62F8D803FBB"
-    "5F1CA6CCBFC1B4005E9FFFFCE7E5F2CB2F8FC20057F8E3E319B815DCADC6C456002FC25948"
-    "08600060E6E48126E881071E8802006213907EA579E39EB6E7DDAF1D2B9BCB6FFDFC56EBE7"
-    "ED1823084AB096200620A47B80E5C45EDF03317B9FDE6F7184053180E1CD0DAF1D6F5B8B2C"
-    "507A6661DB17EF58AF0F9D09641307F4BC71F3EE7712B5FAD3FAEEB53DE99E850404498581"
-    "20F0E17D823548EB40D8BE778EDFDF6AF55628B69A3A1FEB59043CC0F70AFD8811E6EC3E6B"
-    "E5538A168FC5C5781C16BD42E53FAC56BAB5B92533F3B3296F5F44A3FCBA94E6975701AA9E"
-    "4D2A07942E91630242FD1EE3EFAEB53558FEEEFFEF7FFDD77F76FCC409D97C643C50FA7CA7"
-    "A900407466FDF96B01C0845E5A5C7AEFC2DCC255286AE13104718AD758A0F7B459FB11197F"
-    "99420AAE820F1BB9FE580F1F9AAC2DB8220D462C0E23E4C8E1406E8A16F08B615C62181233"
-    "3014F881D91F653F01FE56F39706036F8D13033B6BFC56D3F7347FB403D0475544F87E3186"
-    "30632ECCCE46A1404BC3723FBC716BF5D51B777B1E0B565E9BDE35EC336B1DBB53D06CDD97"
-    "77BEF79C3DDAAEDFF69ADE31E28C9DEDCB4EB6F333B1B1375EDBA354355397C5B6D1FE76EE"
-    "DB71F0040E2B30705B5E1BDEBBE48DD74E0409719EA524EBC26C42245C8800002000494441"
-    "54565AD2C23F6786E0BF3E99ED07BF3E15F45384971210D8A74A01229C092014FC57DC005B"
-    "5BBDACEDDA257FF6E77FFEDF1617E6E5BA97BEB672117DE6539F1ABBC7F391A60200D18609"
-    "A87B3E5017F3FDD765616EE17B961697BE0312B4528BA18AD400D6027D3EAE051AFA17DA0A"
-    "346804FC21880DFE4B5DD884C9321EABBD4DDA6FFB22A652A01886C3A0CFFD00F823360116"
-    "0A98FD3DCDBF759FC168FD3D55ECB3E97C1EE0F371BA4FB334501F017DD1DFD0FAF0D1C586"
-    "C400CB24506AF5DF0325EFF9D86731E97CDEA67F5BDA9ED776EB3AB6EF62043A260F945AD7"
-    "B6E77940EFED6B8D15F7D74BC9B3020BBB2CEC7BC8EDAADBC796C89E345EF63EECB56DE4FF"
-    "76C7E9362FF2DFFB8803FA3C96DE7C41F09FE82240B3B3D1D58AEAA573F34B5118181A102D"
-    "E49773FD3AADFC17422AFF3BF674452ADED5E763101B70FCD871F9DBBFFBDBDF4776D79347"
-    "8F8ECD8D294D05808A96179F9BF5D85BD4A5BCE7C5F985D7AC2CAFFC474EDF13471BB0C065"
-    "4DFA5620B0DB6D5BFA3D2EDAB1B1114BFC02F851AF5DD7F31787413103EBFBF1E54F5BD499"
-    "B5008231617AE98062C008B10948F583BF4F179469019565C8C144F7F36728BA54C6D59AFA"
-    "BDE03F3D0E2E13803FE225E092D0C570A0FDE93D681BF6195826EEDD8327F8B5CE9904EEDE"
-    "F1F6B972BB93DAB6DBBCEB58D068514B88B0FDF4DA17236C7A7DF3DAF3C6D013CE269DEF7D"
-    "E7FE6804BC9643B6A6784FD8B080EE05E58931E18B016D0FD8ED3EEF7CDB8EC8B86066DF57"
-    "E4FA038CFB34B731C7D7CF9C19567F4C4B014BAAEDDFE5EC7F8DF4E7311CEAF91717C1E01E"
-    "E0458092F21FE30160F57BE8E187EEFBEBFFFED91BD6D737E4F1C347644AE3341500886C3E"
-    "FD734D7809CE6CACEFDEBDB6EB2333287E42D5EAEC8BA9E469D0A111F52F06F4C4303B057F"
-    "30AA9B6FBE39FAAB01AAAAF95BE6DE12025AFBF85E98F1687FAC2B8099220B13FA17C08FCC"
-    "04802D565E53F017675CECB630C1CFEFA5F4B16540E331F838AD6FAFDAFD4B5FFAD2F81B7D"
-    "C25F30FDBC1C2A0900BA2C6E6BACECB3F53451A1780E4BAD31F0E6917D46DE76BBDF3EFBED"
-    "8EB3A0EA090CDE352D59E1D2B639C9CAD1BAEF563FED3D297194BF383137DC9EBE8FBA2C2E"
-    "E689370E7C3F765C5A3CA005DADE6FBBAFE5FBD7F3BC7A0376CCCB7877B1C00F68332D017C"
-    "FAA9A786F897B979E9B7FA218A5F8C7A4FBE80400B0369945FBAFB242C14F3BF8E2D8A0CA1"
-    "34F4FBDFFFFE8FDD78E32765EF9E3D636334A581A60200D1F3AD44240061D7EADAAF2E2E2C"
-    "5EC8E0AF64B5310FEC5BE0EF7DC4808C8EC7E73EF7B9F81DEBE3EB92AC2DA6DA02021BA8E4"
-    "0908A1110CD862747C6DA4FA212B016B10689EBFB56A28D9E047067F05622EE06303FE6CEA"
-    "9F8D07500100EDC21D81C03FB8231007A0657F319EBAFE005FDFA6847900CDBF6D811C2B14"
-    "7863E5EDB300CACFA775CE766D7BDFEDBD788245EBDC9DCCB767224478F724E639D87DAD7E"
-    "07C7B2E66508A890ED8D079BF3EDFD789630693CAF9D80BF07FAAD77CF1B73A6E137FA3F80"
-    "3BD2F100D498EB6710FC38373B44ED4B42F818E13F2A35FD73F0DFB86C402327BA3A60BCD7"
-    "F4416A20C60619379FBCE186DFC1F7BDFBF68D8DFB975211A6F39DA60200D14E19C397AB2F"
-    "A3D1E81F2C2C2CFCAFF10522C66281341853BED56AAD6060CFF3DAD2E224007F9C03F33534"
-    "7F254F63F49832EF6B0901426BBCDBED4A3606403F609E78D9353011A67FEB53B7F7C7BFBD"
-    "E8FD2D5A7296F7AB56EF6500042A5DCB420202BCB06EBD6A79D88EFB04F8779436A6EDEBC2"
-    "402D30F580C5DEA78D27B0E7B7889F93472D20E6EB32007973C1EB430BB43C00F6E69647DE"
-    "F8EDA42F62EED36BC3EB8B37B7783C5BCF52E7C3500CC7B7ECF1F7968FDF1E6BB57A3E7F92"
-    "B6EF090AB65DAF5FBC6DB83F55E1FB41E39F999153A74F0D057C20BCF4AAE57743DEFF6800"
-    "FD4EDB55ADBECB8ABF8C1C6131045AAE3CBD17FBF6EC01DFFACC85175E78FDBFF9A11F1AEB"
-    "23E8FFFEE99F76B79F6F3415008838C0EEB92600C2EACADA0FE065E06A7F1ED3B1E0EFFDF6"
-    "0200AD3020C458005877DC7147F4F5238D0E15CB2CD36981BEC740BD73EC3D71BF3C4D8853"
-    "093B5A450EB10948478496AD6BC7DBBED8DFBDC9DBB7F9FCB6842F0702B2E66F63035448C0"
-    "B1C78F1F8F51FFB000E03BB41E165C58309354279E5724F4FAED6D6BFDB5CF96C90358EF3A"
-    "DEB9DB1D3369FC3DD0F0AED13B8571BCE35A6D6D77AC77EFB69F0CE276DEDA31B3DFED7B68"
-    "AFCDCFBE4BB13E5A12DB5E5F0CA0EB362B0C88234C71EAADF7DDB6DDFAED8D4F6BFC86FE8C"
-    "22F86F25104780350AFF80AF44D37F3CB08BB9FC9D46F8C5DC7EC4058CB20010AB00EABE78"
-    "BB4391A0C0732CFE0E5118409D81E59515B9E5965BFEF3A1C38FCBFCC2E2D8F84FA9D05400"
-    "209A9F5B18DBF6E5A681196C2272F67B16E6E7DFAAE0EF49FC93405FB55806278F395AE625"
-    "A9D0CFDD77DF9DD7F457BFB5C7705ADF3D4DCD63A0FCDB5A08F4989EEA02F0777C106077FC"
-    "C47179F5AB5E9D81D992BDC7DEE4EE7BA0DF8AE8E7B1F43202F05B811C7D43D53F644DC0FC"
-    "0FC6D7A7857FB496030B6118676C43AC853EF7AEB14CB2BD1F3BD6DEF79D1EB3DDB3E363D8"
-    "E5D0D28EED395628B47DB060E7CD7D8FBCEB9EEDB9DE3CF5FA38695C3D8160D2BE2E95D58E"
-    "96ABAD3EAE68285470C70AC4C1A408B62C672C0C70F11EFD3E49DB6F69FF9EB06FFBA66B39"
-    "F4492B9FE946D1F72FF1BD9D89401D17FDED0607FF50D67770170C96FC52F44763FFD205A4"
-    "2CFF5BE20142BA0E84820B0F1C907BEEB9E7B15FFEE5FFF0DB4F9D3A2577DE71C7D8339A52"
-    "A1A90040F47C08024C2FD435BBD6D67ED1320C7B9C0581D030F95BF09FF45DABFC3DFEF8E3"
-    "D174ADC0B85DD0DF249AA4FD8B6184D68CECFDD5F600BA08FA5B5D598DA0A9568AEDEED133"
-    "EDE303068C8F0DE4D33164C1432B177A667F6D0B5A3FB47F4940A9001FD7434FE773DFB04F"
-    "0B06796334E9AF1D47160C3C10B39A6267B22C3C46EFF5C7F6A905C05EDF2D7942A16DA7D5"
-    "86BD1F4BDEF649F7B4D3DF766E59AB8E770C9FAF7380D301392E842D5E3A069CB2E7094E16"
-    "C0D5B2C09F49697F628430CF3AE03DA3FC1BF705E136FAE387C5C1B6363762312054FFD363"
-    "2A2F40CCFB0BA5BE7FF42274830410BA9C06185400888241A816FDC15822F7FFFFF9CFBFF6"
-    "F38F3CFAC869D400F19EFB940A4D0500228D587DAEA84BD1B20BF3F3BF3EEA468B5CF0C7BE"
-    "685E301F03BE35FF8BA381D8ED00262C50832A7F007F902EB92A0D06DFDAEE317E8F415BA6"
-    "6E850071985197CCFF1052A0596B7C025B3DB81F42000B70D65C7C05728DC446A12336C3AA"
-    "96AE1A3DAE8135E9117370F4E8D168C687895FDB552100ED23F80F400E268463F5BA81D63C"
-    "B0D60A5C17D740AAA52720586B8007325EBB361EC2D655E07D3DA5615ACB837DAEF65C3140"
-    "EDCD019900F4670BC0F61E2D5079C282ED871DBFAE1103D16A437FF3787AEFA698F7CFBE9F"
-    "8815C15F04B062EC55588450DB35A2EFAD6583BF6F57D37F12E8B780DF3E7B6F4CB07D0396"
-    "8C785F212DF9BB1E63002499EE8735FD93295F8AF61FB5FB84F45A034073FBC2500F980202"
-    "4332FBA70F7CFFFBF6C26D79DFEFFCCE6FFFEC81FD17E472C2536AD35400209A19CD8C6DFB"
-    "721218C0FCFCFC772F2E2E7E93178FC08CD33213D55443C3DFEF9DC7DB0156D058114C8768"
-    "7F80945DD3DF4AFE2DE1C40380ED8401CBACAD5061BFA37F871F3F3C984C676662AC827501"
-    "A8D60D26DAA7055800F260B2006E543284E500E00FE187ABF1B5081A3A0400AC8288D80304"
-    "49E25CB485EB80D961E54114227AD39BDE146B2668F4BF6A745C779DEFBF4B2BC54108401E"
-    "33076D8A31B75B21C70A76DE336021829F8327D469FB2D606D09732DAB43EBB98B03A8965A"
-    "428837BF6C9B1EE0DBEDDEFD78828CD766EB7D122318B010668302B56F985B98574861D512"
-    "D1982F98DB6CB2B7F73209F83D57410BE83D6160D2185B42FB58500D4ACC60EEEF62CE3F80"
-    "7A6E61AE5AF04A15FC4E6B00E498C14120406C40D80A294D70700B84E14B760FC42A82A9F8"
-    "0FB2A4E06AFBDDDFF9DD773FF2E8A301A9C07DE0D28253F2682A00109D593F33B6EDCB497D"
-    "E8D7D6E6D77ED23278A596F6B013D0B78C48F7E3A5D4C57C6EBDF5D698E70FF0813060357F"
-    "4FD3F7C863E816007A93CF6F81DF6B83098C0495BE2028017815E4B5EE3E3EB0120080B154"
-    "315601445540DCDB9CB3EC7320D780EDB312C603608F0FF28CBFFAABBF3A0A011FFAD08762"
-    "85445C0B9A7F9FB226B0E63FC6355A103636B3FFBF4B415F9ED00302C38715C0031AFB0C5B"
-    "D61DFBDD6EF39E8D1841CD6AC8ADEA7F2D61C31B43EF5ABCCF1336EC9C6881B13DCF9267F5"
-    "F0FA60DB6E090ED6B2A273C80A69DEFB68AFB59562478EA68A7598B3986F98AF6A19D24C01"
-    "3B7E2DA09EA4E95B61C09EE73D233BAEF53319C5D8A533A9E476D4E661C9583F23A399D95C"
-    "D16F10823B5AB44744ECF3EC745F8C0A1CB6F7A5EE7F30630901E3A28B2F925B6FFDDCC3EF"
-    "79CF7BFEC3DCCC8C3C89F5369C3930A59AA60200D14E34C07345783116E717FFEDDCDCDC01"
-    "5EE8C7D3A43CF0575206D43B297F4A0CBACA540064D0622100C01CC9EBB17BABEF8546AD72"
-    "268FB9DAEF1EC3E57B08A4B52A69DF21A480699E3C71524E3D752AFE06C04283D2DC7B6805"
-    "F6B972F09DD7B71671D11F1DBB97BFFCE5B1C8CFCFFEECCFCA273EF10979C94B5E12850368"
-    "FCE8CBE958F6744BD637D6730120F4870500269C03E1050C1FCFC3AEB2D87AA61E30890151"
-    "8F5A20D8B2EAD8EB6D07C66200CA3B4F1AA0EC09C1ADEBB4DAF5C81BAB49820A93376FECFB"
-    "68DBB5FB8223C40B9D07D7960AAC21B9E6D47DE459D26402A84B23DD4F1C01819F8527E8B7"
-    "C628C4803E64B16CE4FBC61CC73C8EEF0978C9D6501510203EACFE17E24983853FB51B2483"
-    "7F5037401F8AB0900EB03C034AC0DE3DFBE43DBFF49E9F3B78E8D0FA65975D1A6B0F4C697B"
-    "9A0A004433CF6121A09910AE5C5C587C274CDADECB3D09FC6DA01F6BB22D8DA34F55C80062"
-    "B7DC724BFC8DF5F2756112CB6CECF79D5804826339B04CD00316AB1D7B3E559848618A4710"
-    "E04632FFBDF295AF8C3E77B83038325A8BF2B498BA473B395683FDE056F8C11FFCC1C8F034"
-    "6052CDB6100034462050FA55CBBFAE0461060280F70CBD71F4F6C90461C0D36AADC6EF6998"
-    "7AECA460C149CF5CC634C7F14044DB96F79DEFC97EB77D6D516B7FEBBEB85D7E8F785E4A7A"
-    "FFEC7BEA7DB85D3E0E73077306C220E60DAF14A8E42DEE1328BEC4D3FEBD8F3845855AEFB6"
-    "37A66AD5DA48C2B1A435FA75CE2FCC2F44EB466C17FEFE8CF55DFA9E409D57F59352E74F02"
-    "0B00C30183501032F85F7CD1C572F7DD5FB8EFB7FECB6FBD67657965C81C086DBE34A54253"
-    "0180A9C110CE350D2FD1DC4F75D2CD6EF69B1573B0E0CF8C82817E4CA368580CB85D68A308"
-    "F80348415BE6423F4A1EF0DB7DDE5F0FA8EC5FDBA749F7C6017E6090F80DCDE8F5AF7FBDBC"
-    "E635AF89E98ACC2801CC2D062F8699B68EF380D1DBAFF9FEDFF33DDF23EF7EF7BB63A020E2"
-    "0CC08CBF944C91EAFFE72A87DE424AF880A142108380837675312325CFFFEF69FAFC9BC1D5"
-    "6EB76D330888F880CAE6740BC89E20224600F18EB5D7690912ADE7B6DDB1AD7DE23C6B3B86"
-    "F6DEEDBD78EF9A07FA3A8FF9FC9E6A4D0034A1F9EF4BD5EB34A54EB343F0CE862448F66659"
-    "6C31DABBADE7EF590876F2D713B8B4EF48598CFD4B41B8F11A41CA12E1F1F83EAFEA5B0955"
-    "7D4FD5FF535080CED1EA3A321C15C2D8CA7FA36EB054BEE797DFF3C367D6D7375F7CCD8BC7"
-    "AC341E3DF2E823DB1E733ED054002072F8C297E19A789967BE717E6EEE7FE38A7F422FDB24"
-    "9F3FFF9EC47894F4E580068DE57211B0067FB5A6BF79DA9E34342DEF5E3C8D9E8941DDF6D5"
-    "D62EE0C046F58FE23B2C15C85240BF711F7A9D9699D4F6C5038049E4997DED77F40D960704"
-    "FEFDD55FFD5574A580092A786B9061A034AF60AC291650508701E7754E64F9244D947F8BC3"
-    "C45BDF3DCDCF0A03F6F9B325A3352FECD8B59E4F6B9BBD4EAB5FE2F8F9BD36BD6B5820B7DF"
-    "F537C7AE78EF259F6B9F199FD375454BD6B90E411CCF1B6E255895307720D4E21DC53ECC1F"
-    "6CD7F784054A760170C19F96C9DF8EA167ED11E79DE6BFF13AD2C9F193275201ABE1BA6AFA"
-    "1F8497AD741D5DC047DFA5E1DA3D69F61234BCAFACF217AF173458B08FEE03BD3E620E2EBD"
-    "F432042EFFDDFBDFF7BEF7215EE258E21153DA194D0500A2FE39F01B6142CFCC8CFEBE3498"
-    "B6F7B1FE4466FA9E39D87E079381967ADF7DF745CD5FF3DDCF86910B3107AB15D863789F65"
-    "86AD8F823F98201820AE81F5F4E16F4780945ED3D3F4ED3DB7C8DBE76DB3DBBDEBE9B8C312"
-    "81788A189B90564CC44705952E05008AC390797C347E40D3027961A39655481C933F038E77"
-    "BE0794FAD70BFAF3DC005E9B9D59D9D16BDFB66941CB031D3BEEDE5CB5F7EA09582D21C4B3"
-    "6CD877CAC6DED8A04C7E2EF6789EFB5C780ACF177304E00FFF3F9E3DB47D3C7F5882200870"
-    "864BCB9CCFE3D1F2FD0713D7E399FAED387B34EA4672F2D449D9583F9384912EA7D82E2D2E"
-    "0DF7DFA55C7E190DB8DE0F68DE510EBF86EA0F29814911EB14FC07A1A0EFF5772AFA932C03"
-    "18B33FF8833FF8F9AD2DAC00B8BBD9D729F934150088161716C7B69D4BC28BB6BEB13E3F1A"
-    "8DFE1933714B2D21C0FAFE5BDAA01048E9BAFE48F78396AA40C3E641A59679D07E6F99B365"
-    "42DFB9C08E5D6D4F57CD03F0A35D68FAAF7AD5AB22F00B05E37982C7A431F4FAD63A66D2F9"
-    "ADF6C0AC61BED5E03D30426843ECCB67506DADE9C06D42508300200664BDE0350BF4169876"
-    "E226689DEF8144702C11BAAFB5E68305606F4CBDF65AC7D97169593BBCE7C7E75BCB015BC3"
-    "B86D6FC9662B885981CC0A0576AE2388154006E1515D3E782F2144E2F983345347FB65E791"
-    "35FB076315E8262C1D6C85A196B0C8F70C81E4A924A0CEC4762516FF51C1A5CB91FC5262F7"
-    "13D6E7E57CA5AFF2FAF3FF41C74BE5873E5B0AF43BB26ABEEA9AAF928F7FFCE31F7BEF7BDF"
-    "FB5FB00F4B6D4FE9EC682A0010655F542235519D3A75B2D2909F2D0213585A5CFAE78B0B8B"
-    "97AA59B8A511B6988DBEA09E499D5FDA9E52D090BB0E5322FC8C9CEE270422FCDDD3A8C430"
-    "8A16B078020B6B4076211E3039F8CDC144A0ED4323C2023F9282EEF8397820583D4FC705E2"
-    "01418B5AFB5AEDA1EF60E01002901608E0071357EDDF33D3B7C61284310000E8B3D295183D"
-    "A1CF0A7FAD7D1E987A82944C00040605061C21AB800643764E611DCFCC6CFBD2D2D0BD67E1"
-    "69ED56D0F0EEC5FBEB8D19833FBB00ECBBE8CD79BB9F1791D2BA11AB6BAB71212B35FBE37D"
-    "04B0C6F2D17D9FB57F0D325537802DE7CB60CFEFB467F6F7E69D5D85B3356E336915CB13C7"
-    "8EE7B1E84633311347EB5C20386F14A3FE7571BF94D31FA4ACE11F86D5FC74653F7EA69677"
-    "95ED831B606979298EC74FFFF4CFC4D57E5656D7F2C24053DA394D0500A25B6EBDA5FAAD13"
-    "0F2F67F42F1D3B469AC1D8E9674DA8F4B7B4B0F82F3A19674AE298135B4CA63705633C891D"
-    "2F2600E5B6DB6E8BBF01AA0834F352FCC4C940B05A83EDAB774DCB04BDDAF92A0468753D68"
-    "3AA89F8F1C7B582884805F0C43F0FAD21248BCFE7A141A6671EFB70716BB77EF8E0200042B"
-    "8036183C183DF79D99B5D71E7FC733436D0108161A156E0520FBEC278D830790DEFED618D8"
-    "F520AC50C1BF2D48054743B7E4B56BFBEA0915ADF1F3EEDB1302BC31E3B1E3CC949E0A4E79"
-    "73BD05FEFA5B8B5301D8F11E6AC0A83E5BBC075A0F00CF9CFB8C687B5D488ADF49CF0A2006"
-    "FCBDDF769CB67BC7E3F3EF43144CA3CB14A67FC4336CAC4740C77C8D3C72D0EF8BEF5F08E3"
-    "3BA9360615AA2409052190E0D00F65814389FE47A5C1EB5E769DFCE66FFCE6CFDD7EFB6D7F"
-    "F3D2EBAE1B9B0BDBD15D77DE79D6E77C25D2540020BAF9965BCB0F94B43C73465621953F75"
-    "260A002FBDEEA5715A6E6E229F7B4E9692663714F1381317BA8860853505B6B11624C9FE1F"
-    "2E2C2CBC1E39E20CD4629891652C2DE66299167F07B0422B05E823475E4B8C0A314571B405"
-    "8F3CA66125F5DE44EE5B4D5F3F007E7C90C6F78DDFF88DD1DC8F3C7A49FE7D66B44C5650B2"
-    "C7B4BE7B6DF1760F5C3CE0F280553F30D9ABC6A6EB0C88010E71842CAFDF60F68825807913"
-    "63C3CB0FDBE36B4DC917043C30F6C623189FBCBD86ED3F6F9BA4BD7BAE04319ABA4D31B442"
-    "89BD173B86F63EBCEDD63D2254FE98B57CA59D003EEFB716395E2302EF220246C1537445CB"
-    "3E45FAE3FDC4DFCE54F1534BC07A5AED727E7E61A88E67AC743630B0F53E7BEF3E0B156C55"
-    "D1FBD0B6619940E53D98FEBB988AB725A7CF9C4109F3D4DFA4D927333EBE0E4BF9EABD0C80"
-    "9E7A52C62DD6F84FB101F0FBC7FB4B79025AF16F7D5D5E7CF5D5F2898FDFF0E97FF7A33FFA"
-    "4E08C6EB6605D029ED9CA60200D1DC1C0D075E0498E89797E5E0C1C7E4861B6E90A3C78ECA"
-    "8B2E7E519CB3989C471E7F3C4EDC580A761535E137A2D9175AE01954A74BA5743D0223BF60"
-    "FF05FF4C4B7E7A9A0933161B40D462349E0080FEDD7FFFFDB1CCE8B5D75E3BB6BA9F47DB31"
-    "0B254F10E94D143F2F98A342806A3900FE37BFF9CD31871FDA8324537A6B553F314CD8DB67"
-    "B7B5DAF1B6B5CEDFE9F5C0A0C0D8712FB83FFCD5D5FDC0EC1928A0F5B58A2931E3C7F98887"
-    "C05FB5DC4C027E6F7CBC3E7BC72879028F38F382B575BBC640677CE6DEB99E30C94192F6DD"
-    "B04249EF5492F40406CFCDE13D5FEBA6E16DFC9BBFB7C05F92E0A06B49602E40B8058FC05C"
-    "50733908A00AAB51303E7DBD0FB5E0E118AC328940416D435D7BAA218BB1020899F75B0298"
-    "1D53EFB9CFCECCC8D163C7A28032D24261A93CF6ECCC6C84F221E77F249AF0DF49F1F90F4D"
-    "052DEF9FB0BFACF0971F479004FE21833FB60D817EBB6005E9DFF5AE1FFB2EF0D895E5E5F8"
-    "6E4CE9E9D1540020AA5E0E30A854877A6575354EBC13C74FC8A9D593B2B2B62A5FB8EB0BF2"
-    "C10FFE61F4470154BFEEEBDE28070F3D26575C79659CC8175D78A15CBABA26A7CF9C76AFB3"
-    "B1B1715927DDB7698118A69656E181BBC7C4849893320D80BF17F12F8E16268621D8BED9BF"
-    "C1983C2DF8EB423931E0E9E4C998DE06F3F8DBDEF6B6E8E3579326AFE6E75DD36AFA2D46EE"
-    "D176C76CB76D27DFFBB4A80B841A3068A459AA4914F7AF1500D9626235660B667A0C84B847"
-    "1E7924FA7FF13D32E1B4609007D6ADDFDE3E4BB63DAB197AA06181D782B5E72E68017567E2"
-    "0CECF12C68D8763CC1488CA0E08DB31EE3CD314FC06E090CEC92D32A901AC3A16E9C90B23C"
-    "42AA660973BAA6FCD97E6B1F5450D0678F45BB741D0B9C870FAED3A5F4424FF3F7AC2D4C93"
-    "E6D1FCDCBC1C3F31B8E96650DA37FAFD51E80AC2C04866E76623F8A7334B09FEAEACD7AF16"
-    "806EE844AE02A8457DCA75FB6825E88422FE8752E93110F8C77FE227BEFFF6DB6FFFFC9EDD"
-    "7BE25A20537AFA3415007640CA30E6E6E765767E2E3220BC702B2B43BD76BC947801F042C2"
-    "D4F5D9CFFEB5ECDBB34F5EFDD5AF1E5E8CCDA114AC120264D656777DEBAED5B59956EEBAC7"
-    "C83CF0F73E7A8C9AECBEF8C52F46E603D323828BAC76200E7360B20C93FBD5027E36F54300"
-    "00F043528720F5F55FFFF5B1780F3421357D7A40B49D49DB8ED34E7E7BC7D8ED93DA6C3148"
-    "FD0DA68F3A05881BC1DA0ACAB0256983CC9CD9F46C01CF3E7F000640E09E7BEE8942D36C0A"
-    "C412B20E79A0D972177863E09DEF6D6F0987BCCF03586F0E59C0F7FAC6C2835A08B84F9E15"
-    "857F5B812B90702DE6B9DBF16A013E8FAD9DFF5AFB0196407C00CC6AFDD17B81A008308D51"
-    "F46935CA49E3A4E30A1E838F5E43050D7C30CF2078E23DE758111E07DB9E15883C61117D43"
-    "BADF97BEF444047B0074AC72194DEF41E617E687F14C5A7DE045FCF3B6726F31A21FE58047"
-    "92FDFEF14FDF5775FEFB04FCD80EFE89A0E01B3EF189FFFA9F7EF557DF2D29EB664ACF8CA6"
-    "02C033A058D8254AC28589E145C70BFFF891C763953D48BABB76EF92DDBB77E50561F072AE"
-    "2CADBCA315FCE731246B76F49893185002F820DD0FCC02A6476536963932B598BB773D667C"
-    "36B84F7D9E60749ACAF68637BC2106F7E17B0BF8BD7BB2F7E59DE37D6F6D9BF47BD23EEF58"
-    "4F20C1BDA16601A737EAF2C30A5E5D8AD466FFEAA47EE33C084C3015430840CA180B13DEF3"
-    "F7E6866D7B12F07AFDB0DA79CB0FEF99FBAD7B409CF9E6B906AC70DC35FCF3B60FDE3D3180"
-    "8BF3DCECB8B58402DDC6CF57CDFCD0F611D8A7667A80B316FCC1BB00E0D7C23EEAF6F29E9F"
-    "EDB72A1EBA2895BD978DF58DB88E00AE0D214005443B869E05C0B33A480A42558B03171A5A"
-    "3FB31E1599E8F7D7733B494BFBD2FD8816FAED72509FD602809C305C77281454B47D5DEA37"
-    "F62C9AFEF7EFDD2F8F3D7AF0E80FFFC8BFFD3FB01563FC4CFCFEEB4F1685EC7CA6A900F02C"
-    "93C6AF424A5F5D5D93A34F3C298F1F3A2CBB56D7E4C5570D652A373637E6432F6FD2D50783"
-    "63926C81BCC7DCBD0FC0022668BCB8A88FAF00240D6DBFC51878BF657EBD49E963E0079383"
-    "D60F0DE88D6F7C63CCE3D77CF6ED80DFFBEDF56B27FB76BAFDD96C134C186E21045B22F052"
-    "C1C11673115A808A058356BB3806E3092140DD281863EFB96D07FC4A0CCA769FF5B78BF35C"
-    "3C61D15B27C0BB8E07F662E6A777AC6EB3D7E99CC247AD6765EFC59B779E6F5FEF05CF733D"
-    "AD7CA715FA340304F35C97D3C6F301D8431086B95FD3FC14F85B7DB3BFF51CF5FBB32523A4"
-    "F52EA0894B8A27C08258EC72B263DBBA0E8F45CCF57FEAA99885928F484BEF2283295B2D42"
-    "01FF08F5EC16925E4632CAD5FEF3B542C882832E10A4F101BDC632A4943F9C73D5D557C94F"
-    "FEC44FFEEC030FDC7F701129808E6B754A674F5301E09CD2601E3B7EF2B83CF8D08343204B"
-    "D892DDBB76BF697565F5E2ADADDA7F38C90C270E736A6D87768097166BD25F1963124A5EB6"
-    "BD9638DA81050E667C0CFE56E3D7C2256078887286A91FC2079823CE0133B13E64FDEBB939"
-    "C4614ECFC6F7496DB5B6D9E33D80D1EFB87F30E06FFEE66F8E0B2D615CF0014365AD2CA428"
-    "7F306A0F6CBDEBE319026810D489EF001BAF3E803D8F81D2BB5F3BFE6C766FB5E9CD21312E"
-    "093173B8B5F08C34040EEFBB1ED35A51D17B265D632D84D6FBE6813F97EE05F801ECF181B6"
-    "8D774E833D616903E0E383EFFA7E6820DF76560A1E07003E3E98271A34C8E3A02E07F409FD"
-    "C0BB0601001F048C7A9ABD9DBFDE7CC6F520C41FF9D29198CFAFCAC3F09E9F195BA0A8D3A8"
-    "7FADF6A7CF2B45F46B905F1035F927DB401F52911FFF39C0AAF1CA57BD52DEFBDEF7FEFABB"
-    "DFF3EE9FC4BECDF58DB1673EA5A7475301E01C1326312264F1E223201099046BAB6BDFE795"
-    "59B51A8907F85EC43DBF346AB283E91F3AFD389F00002000494441540C00CC434DFF7C1D71"
-    "18AAF7028AC94068E5F2C3BF8FEBC2F70D6D1F1AB0066BE1FA1E2058E66BAF2B0D66DEFA7E"
-    "B6E73D936D1E63E5B184000697C7F5D75F1FAD3070C1E0D9D89509430A08D348EEED08638E"
-    "63C1EC21E0619CF15D53C7EC1CB1636ABF7B00CFF7C39ABB9D3B9E30C73E7A0ED6D3F96E23"
-    "FC2DD976BDFD1D650AB4DE23FEBEDDFCB6F39CF7A9A6AFA00FE10B42173E1ACDDFA7B5FC61"
-    "F951D0C7F3401F35D34301B335079934B21FE7EA5FD5FA394D580B67614E41F8D08A9338E6"
-    "CCE933D945D47A3FBCDFF8603EA13AE1E1C38FC7C57ECABC1AD6DB989F9B1D73E9E428FE10"
-    "4A6A9FE6F227DFBE6E2C417F34D626F21F32C4C69975B9E6DA6BE4E69B6FF9EC8FBDEB5DFF"
-    "3B4E5765E299120BE2E7334D05802F03218065617341565756DFB9B8B0F8EF1151CBCCC6F3"
-    "A90632B1EB761B0F20E645568DE1E69B6F8E417F6056C8B1E76222B203E0E7EB8786A95FFD"
-    "9ED0F8C1F060EEFE9AAFF99AB8480F18108E5150B27DF5B42ED98641F1766F7FEBBBB7AFC5"
-    "14BD73261DEB5D53FF6A59E077BCE31DF2C77FFCC7793537AD09A0A4C17C81D2025BC15B7A"
-    "CF5A0D0ECF00019E2A0468C1212FB8CBBB77AFDF7C1C5FD36AE7B64DFB5DC837DF99C03D4F"
-    "EBF7EED58E817D47C4B15C4CBA27FE6B330484E6BCD5F4F11EE17D02C062DC356B45635C60"
-    "E6C747415F853A16BA99AC2019520C08CE5133BF24B3BF057EED27040EB5FCA06F5A6D12FD"
-    "881681D0676191DF3776C978638DE57B714F070F1DC41A25A54E5FE8A3DF1F190048F38B26"
-    "FB2EADD99F815F9F55D0C8BF580C8856FACDC715E00FA5CC2F09041B1B9B72E0C203709B9C"
-    "F8E11FFE37FF0B72FDF7EEDBFFACADD7A26377BED35400388784E87F30897D7BF7BD69FFBE"
-    "FDBF351A8DAE54A6E045672BC84FD2802C40F339604E083C040300206B99DF9629D7B667DB"
-    "B6C0AF7FD13E801FDF919683A87444E8824969FD7BEBB36D01BE07AADEB6497FC5010C0F04"
-    "265D63A7C77AA0EA9D8F718715E06BBFF66B2348231E035AA38DCE56E0D731D7CC0D6F6D06"
-    "250554B40701EFEEBBEF966BAEB9260293B76850674AD77AF7E18D9B776FDB01BFB518D871"
-    "B3E3E409A362DE096BBEF79E51EBB7771F763E2A986B9C0CC014D92AACE9C7F2B6C91A80F9"
-    "AD457B00B82AD429887B64AFD9A520504DE3C3BBAB817B6A2552E0E7F7484DFE380EFDD4D5"
-    "2255308410A8CF5A8312D95562C7839FD7507AFA68AC7B12AF3BEAD2023E43F5C299187FD0"
-    "C956AF71059DC23655F9D3BCBF02EAF533E972511FB60004750B0489858556569665F79E3D"
-    "F2FDDFF77DFFE8F6DB6FBF3F66229C38EE8CEC949E09F9B3754A4F9B201D6F6E6C4473FFFC"
-    "C2FCFE8B572FFEAD8585857F80971DCC0326350DCEB18CD07B31C598E03D26D653B118E4FB"
-    "23025D25DCED80CA3206067FAEDEA78C47172781A67FDD75D7451FFF3305FEB3E9E376FB26"
-    "9D6FA9B5BD75CE76FDB7BF9599BFFDED6F970F7CE003D144ACEB1A8813F3C1E0AFCCDFAEDA"
-    "C6F304ED43FBC33341B021840000109E931532BC7B9934769380D9DBE71D27665EB360EB69"
-    "FE5E7FBCE3EC311EC0DBE7252696458355D54C0F2045F43CB47D003E7E2B01542168C1AAA3"
-    "9ABEAE42A966FAD698F0F5F558CDDB57F057ED5DB305F45816AAD8FDA699461A84C7D608AD"
-    "0FC1152827CDDB3E551844BA3282950F3F7E4466E766A2DF1F57479E7DE45B33A358F9AFD7"
-    "143FDC6718CAFD8A8A02989F2190A6DF65014032E0F7B9D25F34FB4B528492D000F047BAF5"
-    "E5975F21EF7AD7BBFEF59FFEE99FFEF9E2D2929B25F34C480338CF779A0A00CF32A130C6C2"
-    "E2027CBEDFB77BD7EE5F0033D600B0C8D053400D0B001EC3606665C15FCF65AD116D60795F"
-    "8DFED515FE3CA66AAF65819FC15F23FA75511B800C7CFCC87597F422B156DB02FE563FB6DB"
-    "D6EAB73DA665DAE6FDDE39BCCDD3886D5BDE6F6F9F023AC60ED1FADFFAADDF2A1FFBD8C7E2"
-    "6F808C1EC3265A0DF2F2404448006066082100DA2A82BE60FD417AA0AE24C70012C8122064"
-    "6DF2FA2E8E00EA8D95B55479DABF67CDB2CF6BD2B3F3C83BB6354F743E73012C8DB950D3BE"
-    "7ED44F8F31D5887D80BE7ED455C3D5F7EC35F5BA2CCC69A0A782BE9EAFD602F44D8B06D920"
-    "3FB614E23C5809D405A1EFA76619688681F2035B51D33EDF906286F0F7D1471E89DAFFECEC"
-    "5CF6E06FF52181FF8CCC8C6632F80F16FEC174DF49978BFD8858333F058386DAC4AF11FF71"
-    "75BF748ECE9F03072E908F7EF4233FF3810F7CE057245568DD6E4E4CE9E9D15400781648F3"
-    "F9512CE3D2C54B5F71CD8BAFF993A74E9DBA1C4C59A57D056DD5FEAD7FDF4AFB0CCACCCCB8"
-    "BEBEFE85C68215FE34DF1FCC4B850C6900B0BD86057F5D871CFD05D8BFE4252F89DA2B729B"
-    "D157301D5E92D73331DB6B8BC3A8BD6D3B057D260B66DBB5EBB531497BDDC9F1DEB16803F3"
-    "00C1916F79CB5B6249699856D756D7E23847ED2BF98B756E789600067EBE5705628019840B"
-    "0801B000A93BC0DEBFF75C3C616927F766DBF6B473252F98D0B352D876BC763DE1A805F892"
-    "72D9A131E33D51ED5E23F7B56D5D7D4FD3F6B47CAFB6A1DABBBD27EE933E437E9EFA5B9F21"
-    "B7C3A9B39222EF3D015A8505F419C702EC7591297E0F39321FBF792D0D2FE6418B543DF2F0"
-    "2382946468DE92CE85268EBA252A50F4F93E69353FD5EF43DA9153F948EB4F8581FADE281C"
-    "494010CD028062D3F7316BE98FFEF00F7FF5C77FE2277E78697951762FED927CE1293DEB34"
-    "15009E2975834FECCCFABA5C7DD5D5DFF9E22BAFFECDC78F1C89200C8D595FC0ACE9917FCE"
-    "032DA197A477D2EE8289C6C74B8C8562E06F86F6A775E235CAD5329416F0E7B5C9534013B4"
-    "4A68FA68137E7E051F0D7452B2C02F0E689CCDBE9D1EEBFDB6C74E0224AF8D4980EF81249F"
-    "E73D4B3E07E00C2100A9919FFEF4A7A3691563ACCF4117855186CB024066C2A674B0186D1B"
-    "5A2CEA03DC7EFBED31262346739F3C59090E9E25C402AB8D19F102F0B82FADE7E33D07CFCA"
-    "E29DC7FBBCE3791B979A46FB9A0E07B0C798E0BB9ACCF57C00A7023EE634833EBB5F729DFD"
-    "8686CF60CFF5FD3BAA70C8424148163C067E6D9F7F6B5B1A1488E3D157F015751568D0A75A"
-    "194ACC87E4545C2C1A3454CC0B790EA925E1C9A34FCAA38F3C1AE7E2DCFC5CE44D43006F2A"
-    "5D8D3EE8F34AEBF8F7FA3D9AF7932B20A5FE65ED3F037F890D50908F66FF9815407501C290"
-    "5D00EB62E8FBBFF8D0873FFCAF240624CEBB551EA7F4ECD15400781A3404616D6690C54B79"
-    "C98B5EF423575D71E54F3DF4F0439109C795BB92F94C415619B96A27DE8237E2B800585860"
-    "D0467B600A77DD7557D4FCD54FCFA9511EE0F36F9CA32644DC175C0800FE97BDEC65D954CD"
-    "BE49EEA3FDEB316A71C0B3759E779CFDBEDDBED67176BB0571EFF8D6F99EA0E0091B1C8487"
-    "BF1002103301A6FE577FF599384F9029C0CF93E78982494F8BED4C5AEA550B05A15DD41F40"
-    "8C06808F8B05B1D66AEFB537F5F2957A937522E6B979C2C2A4316C090242D70A8E1B44FBA8"
-    "9A7348163508DA184708C308DAD3F51200723A2E98C3D6ACAF1AB25E0B6DE11C4F28D5F167"
-    "CD5E3F76295E7BDC88D6D9D7BEDBB160E1413F2AA820B6474DFC42A98F5C998FDB3B79F294"
-    "ECDFBF2F6AD3871F7F3C46CEAB7549C704267F542BC50AA6B373254B288E498C0B98CDEBF8"
-    "C776FB50E2FC00FE9A1E2042DABDE48D452090BC4EBFEE1F0AFFF4390600B9FEC864B9E596"
-    "9B3FFD8BBFF84B6F7DF8914752C60CF8A3CF23A7F4ECD05400781AA40B7C6045ACA34F3E29"
-    "DFF22DDFF2DD2FBEFAEA9FC22A5DD0C4552351BF9FFAEC94C16AA4B6170720DBACFCC7DFC1"
-    "3490EF0F66870F1885462B7B1604DEA61A05FA0AD040243F1806160C52CB0518A6F5E17ACC"
-    "DDDBE6EDDFEEAF77CCA476F9770B50BC6D6234E749C7B5F67B02C44EAE8D803DB852DEF296"
-    "B7C6744D6407A8B6AA1600FEB04B809F452B4B00BFF13C3117D03E2C017121AB1327DC9C79"
-    "DBD79D0A5E3C065E9609CF6B36FF7B0284777D7D3FB89CB26AAE182FCC51D5ECD5B4CF5515"
-    "F18E411002D0034435168723ECAD599FB570B6C2B076CF42980A05D6C4CFC19B2C68B33B81"
-    "AD03ECE6516145330DF0D1225E56D0887DC738A6B6D48201CDFFCA2BAF18AC1700D9940E08"
-    "1E71EAE42979ECD06372F2F809995F588C6ABD16EAD57A0773310EA02B1A7C5DD63F6BED69"
-    "C68DA7F7E9EF500B019A12A8E7F7299D1182EAADB7DE7AEBBFFC97DFFDCD7199F2786F7372"
-    "665AF0E79CD35400781A04A672D14517CB4B5F7A1D9600BEEE9BBEE94DBFAAC53FC0789551"
-    "A95957CBC02A03D6CA5D2DCDAA3779C9CC2CD9F48FA03FF8E961A207B393E457B4E7F4A950"
-    "897EC004713E8008FE62003F02D52499F8A1A9324D0A16B37DF78EF1987BEB98D6F749A035"
-    "E9BB778ED5CC3DDAC9F6D677254F33C65F3C3300D7377CC337C4623E88E04786800A720C36"
-    "56CBB481802D2144DD0BB004C08DA36B41A840D1D2E0BD6DDEFDF2B69D3CA3CE2C0DACE771"
-    "3C0C7FD4FCAD15F654BBC707EF9646CE4B5A3E1AC2AAFAC5F15B3F6CB9D2B16CF58FC7DAFE"
-    "E58FF5F1F3FDD8F73434B23BF8FA786721A0B1A0A2560255226C9FB58D6851D8D89075F084"
-    "C5A528C06335CA214B41624032EA90C0C48F3976F0E0A108C60B691972057AC40074291530"
-    "041367126FA92B6E7805F1F87B88EACFEEA3B474AF1D132BF8C567DF6FC9CBAE7B99DC7EC7"
-    "ED9FFBDEEFFBDE6F387DFAF4A6F64B26CCED293D7B3415009E06A944FFBAD7BE56D676ADFD"
-    "086460BCBC60BA604C78D1C0A83478475300F1D2E26F5C3B7B5472B3C561A4AD8F9A8801F8"
-    "F0FDE39A1AA5CF3E5C057D0D125A4D4B1A435382991F4203FE82B1E21868A656ABDD29004C"
-    "FAEEDDDFA4F3B6DBD7DADE3ACEDB3F09B0CE76BB07987C9C2704E0F9E9AA8CF07B029CE1C6"
-    "81F00820530B93FA7F5963F480C463945A1D0EF3005622000C043DF51DB386DABA27BBCD73"
-    "73ECC44A60B560B57CA9EF5AA3E4352F5E0BEE606E6A7EBC8E9D822484284D7583D0AA606F"
-    "4DFA36708FDD2656C8E2AA7B425AB6ADC6C7B10F2AE0EB7DF3312C6C3060AB4BCD7E38FEA0"
-    "554F40EF6133D6E31F140BC439E0FD461AE3FCDC5C9C5B00F621E570480B45354A0D4A1E8D"
-    "E6A2891E3C08C17E5B6461884BFAEA33CCBE7E11915001BB2425BFD3687E5B5B210B0221D7"
-    "F34FAD0C91FF7D2F975E76A97CF2C64FDEF0CE77BEF3ED1B1B1BEB78EEEBCE2A86533A77D4"
-    "9E65531AA32EBD7C0AE4F3F3F3ABCB4BCBFFF04CCA2905C34235BCCF7CE633119CF162621B"
-    "6B0BEC6BE440BDD65F4F8A461B58116E14D7E33E9D73FE95B9A35DBCFC007C049E41238066"
-    "003F2918AC5E1BE745667196A06FB77BC06701DFDBEF7D9FD4A6B77F12EDE41899006E3BBD"
-    "9ED7D7EDEE5D0104A08FE781E591F13CC0A41F7DF4D1F817FB400072CD166073B11502AC55"
-    "43850DCC43CC17B8A710DB81390900652160270193DEFE602C4D1C54CAA0A855EEC0E4751D"
-    "7B05F9C585C5E887E692C8BAB68446E7AB46AF162C0E88E531E1A03D2B3479817BD6D4EFF9"
-    "F5F53E39F8564898E0E722A42070AA9EF65B3FD64AC7A0EF595FB45D7561C4BA05072E90B5"
-    "B55D83B5716E4E36305E4F9D8EF9FA1A84D77533713E812FA8FF3FDE8F0CE67744E147BEA4"
-    "56A104F429CAA4E4F18BD4057FB44F14D52F747EE159C399BDE6FFF743D0207CFE1FFDB38F"
-    "FEEA3B7FF09DFF0A73010AC9238F3C3276CF533AB734150076489AFEA24C686161E1D5CBCB"
-    "CBFFA9EBBABDCA08B04F97BD05D84208803540CD99AAC9A849CF16A3F0048160FCF7385735"
-    "456CC35F659C60AED0F2F6EFDF9F9724D5C54A543800C87050981800F0FA2306B4BC633CF0"
-    "6B1DBBDD3EEFF7A43E78C79D2DB5C6C06BCFF6C3EB93174CE78D27E686821B9E21522EF181"
-    "C63E986C0F46EB0C9E33A77B613EB5B4527B3D6CC7BC84D5E8539FFA54F4B94228C43CE0D5"
-    "E2ACE582D35483C91AB1C7AA36AF560B7C14E8D5B5A1EF80BAC3846AEDE3A3816E6CBE67B0"
-    "17025D3D9FF3E62DD85BADDE0A0136629F89EF5589DBF484031650585051B79CB6659F999D"
-    "5B3C1755809094CEB807858A5657650DD6C6F985B82ADF564AD9036AA3525F48CA0A7CFF28"
-    "3C86F350C657C81513AB1E4219A1ECA4BC9C6F57FA2242610021450B74695E8754D52F0907"
-    "A11F77070D6D872204F4412EBEE862B9EDB6DB3EFCF18F7F3C46FB2366C5CBA299D2B9A7A9"
-    "00B003EA52DE7B8C1C5E5BFFC6E5E5E55F5C5D5D7DBD466873A016981898DDEB5EF7BA68DE"
-    "0503072387C6A51AB732D056352A0BFA42EB81E32FCC791AED0C1F3E72F3F112E972A49A2F"
-    "AC1A9446F88B632EB6C0E781A7F7527BB41DE0B5DA150356938EF5F64DDAEE1D77B6018396"
-    "5A8282D76EEB58EF183CDB98C609663F3717330650D2596B32E0A38BCDD895E66C7B0CEA2C"
-    "6CA00D2C5004411173279A93C9846D81B6332971985B2A7C70ED7AFC55C057B3BE826C48CB"
-    "D5EA4A790C92EAEFD6887C36E173609DBDBF16987B7F799B7D26DEBBA6C7B4C03E24BF3DEE"
-    "817DF60AF4F63E3AA7AAE32452A101B4B8B020AB7BF7E680C7C518B8D745E08F963FADC84B"
-    "6BF12B64433B5F8C950617A29B704EE672A05F1C139B62978AF5749DD0827D21AFDF3F1CD3"
-    "27AD5F2D0256D34FF32DD4697E7057AC2C2FCBE5575C21BFF11BBFF12B37DE78E3BFBEEAEA"
-    "AB278CC294BE1C3415007640605A175C70E0AAABAFBAFAB7F7ECDEF38DD1779618809246E5"
-    "CFA475C0F1A2411040143618ADE6D78371E33C2DD4A28C82ABFBB1695135142D210A429BD0"
-    "F0D53FAAD1E21EE08B93C7ED698A9E16C8D402E8A70BF8AD6D3B696392C0723602CD249A74"
-    "8C375E1EF8EFF49A63CF87AAD1A9C68F804DB87334B603CF19F347AD3A0C425CC446AFAB26"
-    "690D0E842000D33A848C403E73052A05F0EC0307D012B05BEB039BC8B55EBEBE23FCD17E71"
-    "560C7F38E0CD82672B48CFAB9DC042108F2F5BD5EC3574A95E7B3C5B29D82AC19ABD6711D9"
-    "4EF863A14BC725A6352E2C0CF1444B8B58402C0238003DAEC3119586948BAFF727A5063F5A"
-    "1CA94089E5A667E76469697988114A0723C25EF757E7674D9EFAD8AB7B274B0405D8FB9CCD"
-    "2F215903D20DC52A825A1408FDDEBD6777AC3770FDF5D7FFD00D37DCF0EFB17DD7AEB5B131"
-    "99D29797A6024083A2A96C732B9A5F5FF18A577CFF252FBAE4E7510E1335FE599267AD412D"
-    "01CA94B47087325898E835B7DE328DC290F4C52E79C7425A8B3216D53E780538A5ED40DA32"
-    "467B3E9307B03BFDED819EB76DD2BEB3151ABCDF1EB5407CD2F9DEBD79E778FDD94E40F02C"
-    "33AA3D73DEBBA43980B90490B02670EF598FCC7A020AF01A0CE8C51678FD51E0E6D2B59A52"
-    "6A9787661F385FBBA30039AB95B3C66FC1DE02BD151CEC18B3666FEFDDFAF85928F00416D6"
-    "EE5B6D7AEF8FF7BC8371A5806692FB6E79792982F5D212623E86A245D0F44F23FF3FD4BC61"
-    "684B71BBCBDFB91B1DB92DC02B96979663E0DFD8FCE4F43CB347858A90858102ECC3BEDEB1"
-    "0690A0B5B5155D92A05FFE955FFE1F1E3F7CF8BFC1DF0FE1736B6B6AF67FAE692A0010F14B"
-    "8C89BB15B6E4DA175FFB63575C71E5FFB59EB47A665A96D9321361C6C0DA06477033E3AE4D"
-    "F4E30174E2803C33BEB3B94766929EC63C09D4BC6B6D679E9FB4EF999AF4C501BE9D9E7336"
-    "7D399BE36D7FBCFE79636ECFB1C7F1770528BB7F52901B5F4F0345D5A210C87DE3D5A1B051"
-    "FCBC8FCDDD4242EAC8D4CCB7F3DF0BBE63B3BB37E69E39DE9BA762D2FEF8DE78453DD6E63D"
-    "A0B76E012B506D47DAC6E6D66604CC214E62212EAE83EF310812311231D0733697E0CD659C"
-    "2BD3BE24001EC5BFA3BCF01ECFCF7ACC906AB7BCBC12AD0843E651C871FD3D1D9DB5F7BC00"
-    "B050619F41C317AF963F7DD76A7F7ACF18A703175E08F7C37D1FFAD087DFF6B77FFBB75F7C"
-    "E31BDF98E7DB949E7B9A0A0044C78F1ECB3FA0B97FDDD7BDE1E75EF5CA57FE80A6C8B1E630"
-    "A2EA5E1E380E4C2490D42E55FA13A71A596D46C90A082D20928629DA031E6EDBB740F8656D"
-    "F93A1E604903C83C6A1DD73AAF25A46C07B23BA149E704E3329964319874FDD6336BEDF7B4"
-    "6F7B3DEFFAFA9D3575EE9B2D0A65BF071373E2098A568BEF52EE386FE777C4CBA7F7821795"
-    "7A53B39EC7D402AF4D87D47EF2FD33B073054E76B979C2190B29ADE7EA51A00246B8AD99D9"
-    "2130726D6158B37F09E99D2908328E43378A200DD05F4F817963F363C8B6CF297994983746"
-    "1D9F9404C5D5D5155958588C6BECCF4008D016533D9FB8ECAFB6D76F9976D9C76F82FB7459"
-    "DF6401E8536D7FDC3BEE13F148D75F7FFDEF7EF6B39FFD27885DC0EF29F03FBF682A00101D"
-    "4B0570E05FBDF8E28B5F7ECD577DD50F207846C15F4919AA6A386C9E15D274943C66CBD1D7"
-    "424CC782BEC7245BC7F27EEFBBDD67A9332BBC79006BCDA616F83C50F7DAF318C14E808F01"
-    "D93B7612ED94F9B4FAE98185B7DDFBDEEAB33786ADBE6C771EF7C36AAFADBE7BF34DD2DA15"
-    "9E906A8557ABC9778E2BC17BAEF69DF0E6ECC8AC8ED8516642A0F534D82FCFBE796BA9B0F7"
-    "3DA98FADB1B7FB39E5B14BB13A007AFDA09EFD7CCA7CE85204BE2A077D8F80BC62DAEF82CE"
-    "71F5E99700BCFCFE51947EDD178C17DD5F484A475F169C8A4B0577B3556A1FDAAA04FE5084"
-    "8B9002F96C405FD0C34209FAD3EFB83FD41741D0DFEFBFEF7DFFE2FA8F7DECD75EF29297CA"
-    "AEDDBBC6FA3CA5E79EA60200D1D2F2B006382A675D75F5D5FF08A63AF8F13530C9027B4711"
-    "CA5CF94B88E15B2B81D5623C93A6DDEF69BFE2306FDB266FDF0ECCCF86019E0D60B58EE3EB"
-    "7A407F36C7EC945AC2C84EEE4BB639DF1BCF565B93F67BDB265D63D279EC5FF7C0CE82B507"
-    "DCDE5CF2BE7B7E70CF92E45DDFBAD4F8BDD19C79D6E45BAE083EDF136CBC39EE91F76CF37B"
-    "DC27C1AA93AA7091A638E2AF664248E20BEA72901C6B97FAD125ED5BFBDE4902FD2E5AF907"
-    "1920BDABA32EB90242AEBC17E750959B4FF3215D0B8177DAB7E3C7869461B5F27B169EF21C"
-    "A8C08F08017FC8297FBCC42F9ECBC2FC424C2FBDEBCE3B3FFF471FFCE0DF3F7CF8F03DBB77"
-    "EF897C558309A7F4FCA2A90040F4B55FFB75F10726F3BEBDFBAE3B79F244D63A94C1052AC3"
-    "69199935ADDADC5F254F2BF7008ECD8F1EF355B2C7717B1E3353EA9D1AEDAD733CB0F1841D"
-    "8FBCF62C75C6F5C06DB780C4BBBEBD7FDEA7CFC8BBB7AE51B3DE02BED777719E8198E7EC5D"
-    "C79ED312C4BCFBB6029FD5D0B703703E57B6112EF81EBC3EE87CB74284BD9610D804530698"
-    "B5F74900DF1A7FBEE6D9F8E8BDFB0B49F3EE43B9F6CCCC6CD2A4E76461610078802A400F45"
-    "8CD48C8EC06168F7674E9F196AE876A352412FFDD7A588BE10B57FDE89DF694E20C2BECB86"
-    "8054B96F941B51FF7C97FECFC31CD46230380BB010D0FCFCB07682C621D871CCF7DD979C7E"
-    "8DFCABD7F0D7F50186BAFE6A0540BBABAB6BD1B5F1A94F7DEADF7FF0831FFC216499208515"
-    "0A54EB994DE9B9A7A90040B49526EAD6F0125CA81357999017C0A48CC7D6190F2688CA064A"
-    "794C541C862986217BCC7BD2774B9E063BE9F856DF2669B1DEB9DEBDD8DFADB62CF0D8EF67"
-    "4B676B55685DCBEB8BB6D53B8B28E96F3B4FC4990FDE585980E673BCB2B3766CED3D78CF9D"
-    "B75953BFEEF7F2E985E6BC0579CE08B0A6F99606EFD124C1E26C29241FF6608A0F1981E183"
-    "C7225F5A99508B1BC5DA06F373B18CF74CAAD81728EDB10C2005ED85524837C1743E664CC8"
-    "EA0AE016453E4849F4A705783AA9840A6D26B7D90DD74EABF5A6C575867549868A7C34BE0A"
-    "F222C5129185151688FACA2D20E9D942B080C9FFA9A79EDAFC8DDFFC8D77DC7BCFBDD7A3F2"
-    "64166E1BCF724ACF0F9A0A0044274E1C8F7EACF8CAEDDD776D34BA91C6C6EB75B3C6258629"
-    "7BDAC876160091715066A0F2B4330F78EC76EF3A3BDDEEB53DC6B81AE79C2D3D175AC2A47B"
-    "F1049CD6B84E6AAF75BE77DDEDF6EFE4386B09F2FA68BFDB6DDABECE775B68C80AC6817CE1"
-    "5600B0C0EE5D9FEF6B52DF9F0EE53E248D3EC4E8798D59406123D43898891AFC686624F373"
-    "0B311A7F10E86763653DB51C0D15F43653F685D4A67CB3645EA7E67C3E4641BBEB7265D178"
-    "662CAA97E64E28CDA6BDC90AA049FE22A39096E31DCB10E0C12C5F100F80223CD2158D5EAF"
-    "D007A9403AB0F95F034285AE2F21662ACCCECC44E03F72E4C8E64D37DDF46BF73F70FFBFBB"
-    "EFDEFB1EC7B6B892E889E3454A99D2F396A60200D1F11327065FD6C2C2BEB9B9B98BF465F1"
-    "CCC0FADDAE70A6B49DFF55A9B58DAF6BFDABDEF1F6FB24CDD2D2A47DAD633DE63D091C7742"
-    "3B31812B9DCDB13BA1B3E9BFA7F97BE4CD9D9D5A313CCB89ECE079EAFE16106F07CC9E26EE"
-    "FDF584871679F7E9CDFB6742D5FDCA803DA36EC8B18F608E824629FB402B19A24C6E047F23"
-    "C8C774B61877A085BE148A1378ABA55DCAB532CEABCB49CFC88174DDE00DC0B3EBA50AEC8B"
-    "E7E52A7C5DD6CABB7221F5FEC776BC110F54ACAF0B525911B6422FCB2B2B8320B3D9674140"
-    "A3F9B4BF1C4F90C781D2FEFA244841C3C7B6DB6EBBEDBF7EF4A31FFDAEC3870F1FD1E26453"
-    "7A61D1540020DAB7674F04F4858585178D46A365EB2FE617D6D3B45AE6D696B6B61D592669"
-    "AFE599435BDFBDFD3BD97EAEC80304AB759FAD06BE53B29695569BADED3B39C6D3AABDE35B"
-    "E77B6D78648FF1C0DC036CEFBCA743DE1C3C1794FBDDF725F29C5C12436AE14CCCAFCF6B00"
-    "24D0E785B8BA04DB2199B507015E81BCCBD5F22A541FE04F4612115C7AB2B28B2E855B39FA"
-    "D5045F2A3B0EE3DC0FD72FA6003A85CCFC6A09487DEDA40403186C977CAA120B886AA98915"
-    "0647D1BDB1155D9952D2F7A23FDF98FF93155423FB25C6366CCAE2E292ECDDB7571E7BECB1"
-    "FB3FF5A94FFDD39B6FBEF9461CA7AB8A5AB7D7949EFF341500882EBFFCB2F8238470A956F5"
-    "B3B4538DDA131E5AC16CD260F0DE36BEBED7070E2CF3FAEF91D78ED707EB0AB0DB5AE4DDC7"
-    "B926FB8CCE651F9E0DCBC7D91CD7125A5AA0EEFD9DE4467836C9EB678B5858C97E7904C477"
-    "29F68617F7C177007F04FA4193E7857D8A256408CAC3F2B9417DE295A65D8D60CEB6CFEE76"
-    "1D1A44D4A7D2399D9AF68364604E6250F2E127DF7F28C576321E937FBEBE7A8DE66A3DB0D4"
-    "65559F520259FD37E09FF945B4228E24603C642699F9B58A5FAC0B1C03FBB438809AFD2124"
-    "61ACF75F70819C3C794AFEE44FFEE4671F7CF0C1FF136E105802B4E7C1B54B4CE9F94E5301"
-    "80E892175D3E309AAEBBECE0C147E5E8B16371F18D49C5405ACCD303E8962FDD6BBF05602D"
-    "CD52C99626DE09B5EEC1D3D2B73BE67CA4B31D839D1EEF8DB73DDF33DD7BFB269D772EA875"
-    "ADDC4F3679CB10A83643458278BD0105FC19137CABD4A792B3B1B646C2C374C55A9157ADB7"
-    "9B74DF35F8273C8CEE0405DEDC76B627940B7459532FE01C721840CA224A4240D94E7EFF54"
-    "3C2CF7AEE3B6CB87DC830000200049444154CB817CCD4669006AB38F4294C4BA0009FE5319"
-    "DFE20948E97DC92D10839E6746B26BF7EEB8EF8E3BEF7CDF273EFEF1EFBDFDB6DB0E62B553"
-    "2C46F6D8638FA59448F7EA537A01D05400203AFAC413B122D79E7D7B2EBEE28A2BE33ADAC7"
-    "8E1D97F5F5D395A9511ACC99B5796FBF77AC776E9B39159AA4BDB54CDBDE368FBC63BCEB48"
-    "E3D87341ADEB3F9BF4744DE1CF17B3E74EAC49DEBEB3A302902A6CB62C0F628A086971216F"
-    "719F62C6EFA2295FF3DE3320A500BEB08520B48D5C9F5E015F684B57AD631F2BDDD49A3759"
-    "DA3D3BFA60A697725E5C594FCDFDA2D17759CBCFD1F695554568DF68F0CB8F527752B11FCD"
-    "EB1F0E52E12264D7809AE18350CE7FF2F16B2AA1BA2068168C3DCD3E84644549D92942A0AF"
-    "CF2A661E0E7114588B0026FDA79E3A2D77DD75D707EFB8E3F6771E3B7EFC1EAC6ABA6FFF7E"
-    "999B9F77AD99537AE1D15400209A9B9D19EA6BF7FD016CBDE4924B65CF9E61419FADADCD18"
-    "01AC35C43997DBA604CAB3A0E53131F3D67444A549D7F1DAF6B63D93F35ADB5F88F442BB97"
-    "49CFDEB30C785AB93DD69EC3041F72CC458FC270270BB3F3F17799FB920168782770DCECE0"
-    "7FC6EFE8874EDA3B45B0DB5805F89B0B4055D66D63362F2BDAF1BD686E7DA0D4BBA1A2DE60"
-    "EA962C0C4B69981E7DF4D1F7EA4F2F2E833C269D06ED4936F7E71882ACF8AB2B80AC0400E2"
-    "A135F30C486130FEFCD2C92E05F7E98098D80B7545E467504C1FB80EDC249D8C6473734BBA"
-    "39CDE71FB200E026C1B3DAB56B775C61F481071F387EE79D77FDC19123477EE6E0C1839F7F"
-    "F2C927E4F2CB2F9763478FC9934F3CB12305674A2F0C9A0A0044330B0BD1C736373F7F0D7C"
-    "86602E28F681085A358BC52541D737647DE34CACDDBD7E663DE5D70E66C83ED5C2EEC35666"
-    "3E36708F7F7381218F3C063E7D01CF0DB59EC173DA27110281B42D056F49353F5224773F5E"
-    "66974DDA762E668DDBA4B646733BF9D4E1630780F39C9D9919FCCA59E8ADA0472BDC51FE38"
-    "DE8DB04529ED49E34DE56E156CB3893E2F4053DF3C1BDFEB7119F6845C3237A4B45E3D96AD"
-    "02A1E4E3DBD612C6AACC20D5FBA926FE529B3F645D3E79FC3B32FF4BD9241AC1DFA57B5333"
-    "0159223AE1A0C150AC14A108345DAA10D87581D6EED71A00DCF1A1555403441D030801C86C"
-    "C073D3F981BA06BBF7ED8D073EFCF0C3F7FDE55FDEF453870E1DFEF599D999CD03FB2F88F5"
-    "FBCFAC9F292BFE4DE92B8AA60200D1E9A74EC79762717EFEC2680AD8A2853DF00F5ACFC242"
-    "CCA9ED52282D72626334715AF10B95C0B8A2995A0B82A91BCEE5816D2114AE2008068A6533"
-    "39BDAB15793DD24A61DDF8BE9D909A19B96089560EB31ADE4035736E5DF35C00AB1737210D"
-    "C0A48EE4C86D491A2D1FE95502947C5FA1D9AC4799893BB9DA9E6B86AFDB99B4D1A0E09D4C"
-    "CF71C1983033E48477B6046F97CDC316D48BF039007FCC7DEF06B3BB648174D8DF75C55CCE"
-    "E36AB575688F6C4606B8C55F3DF9E1F5FFDE68DA3C0EB90A5D71DDF3C2F4C5DC5FB4FB120F"
-    "97B6C571E9F3F1D1EA1E52709B94F4B8106ABFBD681339B84EF2EA7783072198F108791C55"
-    "6849434F610765895EC901839ACAA7E984814E28881DC83DC075044497DBAFF659E1A58C71"
-    "0C5644F071E863C5C285C5C558E61CAE182C3D8CEA7DB06EDEFBC57BAEFFF4673EF393F7DE"
-    "77DF5F1C7AEC31B9EAC557CB85175D189726D6788D297D65D2540020DAB5BA3A98CB46A3FD"
-    "C1968C4D363FB802542050A08DB9C5B3B3B2D02D3441501298F75BA9C4A856D78AD5C88496"
-    "E3AC0BACA87021E402E8D2A222928090AB0C76265551B7556576FB30A4358D661257EA5D53"
-    "AABA1B744116DE3E7E6F45430AC484252DA4545C235218A86A6C7A26315851E013E591A16A"
-    "03CF6168C7A94AA7C24A280C75C4969704CC10D6BC604D4941695D6AD716809214553D0C5D"
-    "D17B5300694E53EB52853E4D351BC67B78BEBC4C2DB4EBE8A71DD9BAEF52B5AD5AED70CF64"
-    "6256418673C1CD3DB1B9395039D82A302FAF58599F53D79B67F96ADCB5903BD273BA1B698F"
-    "DC149BF4B345C0EBF3403C47F3A8F77C96A6AF75491BC739458AC963247945DD727F18DA3E"
-    "BDE7DD10E9CF73B39CABD68AAAB28F8411C51028F227C01F09E7F67709E08B899E05842840"
-    "D12EBD8474F5276FCF5606BA7E25880CE308EB0DCCFBBBD676C9BE7D7B11DF74FA965B6EFD"
-    "9DFBEEBBFF970E1F3E74EBC14387A262031FFFFCDC7CD6F89B8586A6F41541530180E8C453"
-    "A7F0822EEC9A5BDDA58CB798DB49E2EF52E52E295AB906D788D12A233C25CD5C2D7433DD8C"
-    "CC765DAE1FFE7C252FD0B0A56117164B7ECBC49C46A3BCB2C9D879A4738D6DEB3AAB759356"
-    "B6D9A7EA692332C24AEE6F253C7492C1BCEAB389602E7EE190A5848E23C635C29B5D30A100"
-    "936E1A04A4722EFBAE038D8DFE566D3547C7877A295E5E8845FDB62ADD60135C4F19AAA9F9"
-    "50D4F0FADA8DEF1D83AC4A4954398E94D0AAFF55DC4B067BFA1EEAE7CBD7DCDE8A53D030E7"
-    "D117DC2D1A75EA215B0E8AFC11EA39855F5BE94EBA520068A4D1F4FDA03907AD0A9AFDEBC5"
-    "D5A1F7A711FB43605E97B19CD3F10205FDC58C0229C241D1F4B3EDA6CC47BA5A1757072AD5"
-    "F8421234AAB94E8FA6365884E80278E2892FF5377CF2868F6F6D6CFEFABDF7DDFB07A74E3D"
-    "750626FEC1CCBF1E5D05AC884CE92B9FA602001196CB9C9999D92BABAB7BD4F44DC65C8ADC"
-    "4D184105353A16E2B95102BE6C4D533FE61607F48C334226FB92DB9DA5604861CAE32B8515"
-    "E6AEBA7039A62B0C8703A43A66C665911146D8A040E9F4B14B0BA478FE4396093ABAC7F123"
-    "256B65B5B540AD0D6158E35C9F97AA8663A677D2E0C6F60EA4A5A035884BF26D8664622E0B"
-    "A30C16805E47260A240A8263561735CD92C65A34EC1A50B9C321EFA2AA730ACA41FDD8650E"
-    "A8DE5A37630A53E9FF054FA4E8CCC9B49EE73FEBD7A6CD3268D551F5DC29FDCDC273A85B9B"
-    "2C04149FBBE475F1E9BC347787B1EDEB3ECA80CC7836BD8E4BAFC2BB0272EDF609BAD25E7E"
-    "3B34D2BE7E5E45D8279F7D1246D89C5F2C01EA6629703FCA7980B50B27F75FF98D3E60B53A"
-    "9220CCDA7F57B5A07D282372F1452FFAD127BFF4E44FDDF49737C9CAEAAA5C7BCD35D1CC6F"
-    "8F9BD2F94353018068B4B529B3B3339776DD68AED28494AD86905FC08EF8534D66A3774C36"
-    "E1D57EC849E449F8FC7DDCCF4CDEC1AAB3AC31B1D66DFC88D47FD2C16AE69DF705DE34361A"
-    "3E75056C698953CBC03354A7AA64EA8F07B68E3A3E57082886FAE7A5DE4A20BF6901BCDA56"
-    "3A4AF6E471E04F6A6002FFCA2FA14850A43B057FD29AF3371383503DAC4A7B1F170C449760"
-    "A57338C08F2D0BBD986D559B4518650D31D071AAE95BD37F2570E42130667B29E3A0401B97"
-    "B4D527D0D7F3AC7C37AF4D2EA14B4288AE99AF5EFD2C6884829146B0E4762B81A51BE5F3F4"
-    "F841A6ACC747442D292323E4F31C49E03FEAAAF3AA61CBF579433E9BDD5A4A8E37AAB22A16"
-    "6BE4D0D228FFEE4B9962B658A44BC2D7FFDAAF79CDBE5FFC855F901B3E7983FCC55FFC85FC"
-    "F5673F2B7BF7EE930307F6B3FF6D4AE7114D0500A230443EEF1FB0A07E1914884A8471DA51"
-    "D276F391A6D55CF4A33E2C6490F6D45EDDD4901F32D0E52312B874BA4A8828D81077CBB5C4"
-    "C75FF4F12DED3B126146387EBED7E7F16D2133CF71E327DD67E2F439829D02A88A765C40B6"
-    "0A05C880C62BA4D5415E1D59658A10A35610D6361964CBCDE8786640EA54B029F3255A0654"
-    "E326C41B3383933B4018B0E946F91C7B9ED873A9746C1503900E2CAE041AE7A82D9B7EE56B"
-    "0C00DCD737523F55BE6606FBF2BF154A3ADE1BCCB2D45904A4BAF52416EA33EEF5D9E9BC08"
-    "1C8037BE32A3182B09BF49F19B5A09D20454F3BB2BF0E7F9AB8338E251AE82F9B46F2EC86B"
-    "3FAA17A9308D6A9CD2B586EA7E65195F9545ABF14B8723F0EFF12347AE464ADFFFF46DDF26"
-    "6F7AD39BE4431FFEB0DCF0C91BE5D1471E96A74E9F8E3102533ABF682A00101D3EF4B8ECDD"
-    "BB7715652F37FB2DD200C74D7DC99317A9F13EA7638B1992B77515588DC3A8CF5EE9702E19"
-    "2EC5323158170AFB5184D345442AF0CF0D785773A412B377221966396674576ED775D96CAA"
-    "5DC9A94F2A62A824A0428C743540DB342D5199288D4E4740C3C15B5AF025FB71D42C1C281D"
-    "4D99B8F18DD2B845CB45DF9347578AC58125B93CAC7D8D9F5D2D18E41AF121544CDC7ED721"
-    "CCD03E263488EAAFAAA656D690FA1C85DA71F7018B9B2A34E8593C7C655226EB44D6D80B68"
-    "E567959E6765D4C8F75744DF9E6D37E958CEB5AF66687699F429A052DFB3BAECF158C1AEA0"
-    "9ABF06FFA5B991DFB1224476524A082BE0D6D3550572066FE614D996163908BF659DB917CE"
-    "BAC92392AF53FA114C0D8112A8583A86A0D3BEEFF7DE7BFF0372FF830FC9CACA8AFCBDB7BE"
-    "45BEE6B5AF95BFBCE926F9BDDFFB3D79F0810765796971C725C4A7F4C2A7A9004074D1C517"
-    "2255665FBFD5334C0F0784925A953664693F5266F4C1B7E355E27D0D76CC243B020F210D82"
-    "B8D17044950A684CD3F9CC6265088C14A28CCBDA02086C798FA3F9149D7D5C48604DA4B8CB"
-    "E9F850520A839A3DD5BD4255D5F2B60CF8D4BE19783DBC307A4EE7CBEA7A194A65AC1CAC35"
-    "76874280584CBEA133DABC6ABD6AD5A1A03DF53F5307EB6961DA101BBC57C50C24301AD3FC"
-    "4375EF638240C66715282A845725B636CFE7DD654B4ED43302429EAF5A9F409FBDF1C9EB0D"
-    "56961437BD32240B4DBE0B9A3BC632C1F21CB9BC7AAD2910327CE720CF184C98DE9FA14A1E"
-    "0BC25D65D163F792A4F74883F8F231A9035DE025BF439EDF62D4071DF060F84415505963BA"
-    "CAA7564AA07789DFD3F17713D91D737373CBFBF7EECD5939479F7852961617E53BBEE33BE4"
-    "D5AF7EB57CE4231F91F7BFFFFDD23DFCB0ECDEB3A7996A3BA5AF1C9A0A0044A85A363FB770"
-    "20BE8429864CFD74AE8F9D737494A7198D20A6A0118312350F7724B9136833BBABF615642C"
-    "5A41285C41B566052B36A957BE5CD248ADA0A12031468E7F701C2AB8BF65AC589BCF10CA43"
-    "598218F2E08D07141AAD552483609D671FF29D94A1320BA374F46C2A70AB2D279AAA55B2B5"
-    "29929C0244BB8ED75F1842E974B88A00620506FAAB2E021377513DDFCAFD40CBB766C0CF8D"
-    "65E02C0172746C575F3BBB25F2DFA2796661C4717B0C9B52581D0B8B24C48CCD13FD936BDD"
-    "77D571E3025851B32BED9F6C315DEA4601CB40A7F64386C8888E216130F663A4B13CE36E3D"
-    "95CEB3454833764269AB88844273B19E892A44EA3C528B55555780C0BEA3730B75C63790BA"
-    "576511D1BD9112A2D7413D92F9F9F9DD575C71F99886BFB5B921DFFC4DDF246F79CB5BE4AD"
-    "6F7DABFCE9473E2277DD79A7AC9F3E1D1701F2D264A7F4954153018008657E171717F7D57E"
-    "6493C39BAB713144F177638ECB2AAEEEB6A0CFA70577179F9BAF64A28DC634B7B19803C508"
-    "8302F9F850AB1D56750B86435922ED63DC6230AEE9E05E4662C6A63AA330B10ACCF301A302"
-    "ACE9F83A30B208341D5D277FCFE6842E6BC54185290D6ECB434C4218016F2705583350684C"
-    "40C65B062FF6F1A77DA5A6AC226E0573ECEBAF45C31AFCEB3C7F1559A4EA6F08B58057051B"
-    "96C6EA780716308C5C9AAD23EC62C9809A045C4AC6C8DB4D7B6342422D419854437E1E8CD5"
-    "1D05897659FBEF4201797D15BB3181D658ED48880FA330C603CA59433B23955A55EBEFCABC"
-    "C9D62C1ADF1CC867DD564E244C9EDBEAA0D1E585BB7A5C4A2B9D99534558188DBA7DA74E9E"
-    "5C08219CB1A07EEFBDF744CBC09BBFE54DF286377C9DDC78E38DF2377FF33772E79D77C9A1"
-    "C38764766E368FF394BE72682A0010EDDEB31B52F245B1F25EDC9C63CAC91457236BFDFAA5"
-    "176FC4FCA5BC84B5E64B0C430C3F324D56E71223CA00C31A06A71D169DB50208EE56DE178A"
-    "89BCD917EDB7EAC9150FEBEAB6C78480BA2D15A554B3662B46E6D465B0C6D4AB6826EFBACC"
-    "ACB5D67AA9954E1A7D2548046A8E2D37B9950C68E5068B9FB84BEC386860622873226B5EB9"
-    "946C1D741952AC40EA5C85A92C1C44ED350C059A746B96571C0B40D9AFCFBDCE0E28739735"
-    "F502F6F9C9A9993B0B30EDE0C22E9BCA93F014CA1B931F935A135898D0BFB92AA00DAEEBAA"
-    "6307B96F94059B316B5C76C7904582626EB280C6C29BBEA3C53950C6A12BD680E8A74FCFB6"
-    "CF11F7A563D9CD242A68D22241A2F5294A9D81D887D1E0121A9150995310B9B69F5EA37A67"
-    "CC0BA5F72429F87744AEB52C69A57E0C42C7DE43070FEF3D73E6CC63080AF4E8A1071F96D9"
-    "B93979C9B52F916BBFEA5AF9C2DD77CB830F3E2077DDF579B9F596CFC9E9A74EC5BE6A21AB"
-    "29BDB0C99F05E729CD0EAB91EDAEA467654666F52EE3922777804D0B20C021100B2922BFEB"
-    "1804581B2B5B02F910EBC0A012499FB5138EA322F65DEB3C7E519E1AF8C7557D125786DF2C"
-    "2C5813E518F8172EDFD1482AD32E8691A27E1174558242BD872EC75E121A421687721F02B5"
-    "49821657AF138A040F9AE35D69A7B5469FE331AA3E29409A61262D9860BC6CE39800A31907"
-    "CD2EC80FA1F4CB660D642B85022D81ADFE2E51FF4239003AF3C6A641D9A7B24C5EA9AEABFB"
-    "600B07E5580B923AF20426E98EC68FFBAECFA27201D433606821C5328CBA02E4B551210CFE"
-    "FACE1475224B85AE10D07721C9946672E5294215BEF29C4875FAF3FBDB8D090FB555431FCC"
-    "689CF564F9539FE7288FC7488B1A493DE907F9B9E44BE0DFD690093177D18B2EDEBBB9B9F9"
-    "D876817E21550F7CDDEB5F276F7EF3B7C897BEF42579CD6B5F237FF8810FC8238F3C12B30A"
-    "C25035D586C74EE90544530180E8E8978E6229E0C5B9E5F952D94F2981835FBCCFDDC82A8C"
-    "01CE9077DBC3EB2603018B3DB88057A06D21E35961A885B706423BF7AA355336DBAB6E4CD2"
-    "F2C7DAA02C0A351D733D056352C9710CEA4DE00B93E9BE5CAE68725D66AE46EB4BE758C1AD"
-    "CECBA728F0AC95710F8B9E5E4EF307C166257422554DFA9E04BC8E73F749E8E381CE404C80"
-    "DFE5C24506D1498AAC8203ED333219047CC59E5C2BFA504A5A2901125B9CB8767F968AE8C2"
-    "BDB9AFACA59AE7548D2103DC50D79E6FA14C059E431DBD0BC5A553AC6675719D404FB60EFA"
-    "650066035420281EB68C92065EB958F2F88808B90C4B4FBB9C0DC0F34C3376AA61A2DFD1F8"
-    "45425367DE85E1F6BA2C04E4972A88ECDAB5B6E04CD78974E2D40959DBB34BBEEB3BBF4BFE"
-    "F1B77FBB7CFA339F96EBAFFF84DCF0898FCBF1E327E21A03171E38D02CAB3DA5E72F4D0500"
-    "A699C83B7629A3E50033D64F264DF1BA263D9DA366E2B4BD0A2150F3B9A369F1C5323B0C0C"
-    "6E642ACCBED74A7E2054ADD38E449C4B56D1F313FAE1C91263F75D403F0F4BB284B0D97788"
-    "9E2FBE4D6DD7285C89B98DA72ED6DDA83936334E0FB0876B765445AE00808E652584E5C5EB"
-    "684C7341A26225B059092C38F415305A4D9F05C5F2BB4B568440C03844B34B0E0C947C85A2"
-    "D1ABA669DD05E5F905D22E152742797A5C37226624F439382EFEA24A88054AED18D07D90D4"
-    "1AFAFADAFC0485DE2540ED20A050E9E62CA84929D99C4E1E2A6F536D0CCA2829425E573D6B"
-    "1634BBFCE0855C0E21A7FE728129498B270DEE02239892CF3F1B0AAAF38C252BF52F54426D"
-    "A06A843A1925AF2C680366D90A985D5E29E170343B92271E7B72F9E4C993D272014CA2FBFB"
-    "FB656969495EFB9AD7C9B52FBE56BEF6B5AF978F7EF42372E4C811595F3F230F3DFC505C60"
-    "086B0A8CA2DB6612A79CD2F381A60200110A618C666676674DA632D9D71A40D614CC1CF705"
-    "84F2128B48652A2EA53E1BC440290A46956E362EAC04D6B444AC5692C993065483769204F9"
-    "B4AA31F28FE76602317B5537AB31281A78ED12E0DC7E65CE5DCD3CF31F0D78AAF5731D7165"
-    "9AB6FA5EC99E900C70958615EA6713AAB67338963AFA0BB8911EC9635774DE6260EFA88FDA"
-    "7731428348F0B5F7EAC1B1F93D5913F2C1B50FBEDC29053E524A64D1AEB9EFF4EC74B8D3FC"
-    "CA961AD120D251D5674A8EA87DF255D0A28CCDB5FAFD498BEC562EB66A77168AB2EF3E94BB"
-    "E0D8D62A63C0BCA455853D9EBBF46E9511AFDBAFDF677B071E9FA8AFE56917759C43B158C0"
-    "75310C3B2F15DC25A1ACB69A702C421F5D9C233975F2D4EE2F1D3E220B8B0BF274E8F8D163"
-    "F2D8238FCADCDCBCBCFC652F9757BCE215B184FA93479F949B6EBA49BE78CF17E5B6CF7D0E"
-    "8B0DC5EDE8C2FAFA866C2C6CBA8B889D6BE2C5BC7851B3290D34150088E6E6E6465DD7EDE2"
-    "5C72250EDE676D703890DEDCE2AC240D988BFEA480A98EE1B2BCB2632AB51540B816BFCA28"
-    "4529A8FB95FBEEE5B98F1F97258CCCE969FBD8C9F579CCB032EEE7012B1B5850908E0E1B63"
-    "7CA5E00FB7CCA6E70C5EDC6F128D34827E100202ADF0566AB6873CA45D9653D4D45DDD7ECE"
-    "2C488C5E17CA513FACA9B79F5530AE806002EB243F7319AFD3503DA7501D53187D0163BE2C"
-    "0B71397E0157EECB9807D27AAB71928298269AA1BE2D1E9BB443D7FED76D16646B6B48B1BE"
-    "D43C99DFA5027EDCD74ADC630B08C7E95007F298E77922B99D6E34AA7E0BAF24D905D601CA"
-    "BB9BDA1C568CECA8AE00BD80A1CB2E074B5928EB747EDB70CBAE7E394820ADE78906A39662"
-    "6545D8969231905AC49A1C175F72F1EE3DFBF6C9CCCCE418809D50B47A7423595C5E924B2E"
-    "BB54DEF8C637CAD1A347E5B39FFD5BB9E38EDBA2450099041887A74E9D92E3C78FC9A14387"
-    "22203FFCF0C372E96597C5ABE09CF5F5F5988575AE686E7EFE9CB5FD42A6A90040F4E49347"
-    "771D3870C19E12956BB45D8EEEEF2ACEE08024E90CC6794E7A3229B19E25803510D5F4BB2A"
-    "45AED37C7E0517ED572010F7C09FAD89D526D24CE8DE0B5B722C0363F7CEA752F05D066C4F"
-    "60AA8733E8D8D0F0D36DE7EF55CA995093AC388D9540AE0309432A8293A3B8B3BB2664062F"
-    "062424A88E459A6B71B5D278A5858A48FBD6712963174A5C405AF4884BE8B09CD967106520"
-    "ADEB477419105514221FBE5840A5FB2A0D8F3DD09229426256A7FD29F7D2D16D310EF7C3BA"
-    "BD298556BB41FE7102B53C73748EEA787B9247CE78EB6A4DBCB28D97096ADD5B5E66410679"
-    "9662026BDD239251B840589FE2FEBBCC1F428AF92F734D474F6B820C86933C5E5525CC7C24"
-    "3D88DACA50BB28CD4B683296A0812F2C2CEC5D5C5C94679D82C8B1E3C7A265E16D6F7F8BBC"
-    "FD1D6F8D573878F060B40EE0DAB7DD769BF47D90BBBFF0053978F090ACADAD22ED5A2EBBF4"
-    "32595E598EC7F626B5F199109EEDB163C7E4DBFFF1B7CBBDF7DC2B37DD78A3CC2F3C3DCBC7"
-    "572A4D0500A2F9B9D95511592AFCAC120128A7D9A6AA7128BF950A0AE597BB46BAC46F8BEE"
-    "14AA173A949EA8445FAD71CE95C0EA403BBAC4B815800D0941EFD643710E44F48F299AE578"
-    "0A5F67D74150ED5AB7652DBCA04B559885FDA8D97AA2775ECCAF1A8D1D485B56B06170640D"
-    "B302BE3CACB5C0C2A161A1A3A0BAAE16BEA881F2E473D95BB285EBEA731953A877C95E3D86"
-    "89D4736F4309E0AB01508504F6CE5771011AB7C02E01C70E55652104D2904DD0E1D02625FE"
-    "A73F7D5F9E617E0279E2D555F80A1981984AF5EAFB52B9F6B587242D95EB15ADDFF6AD6C97"
-    "6A9C3A675E56D38752ED4752E24238307018AB51313CA8B5224D9EBC900FBD33752500D5F0"
-    "5500229FFF1846DAF1ABB7E11E171616E4B1438FED3A74F830D29D6D03CF2E21CC6166144B"
-    "0E2F2C2F464BC15BDFFEB67889377EC31BA3391E99056F7BC7DBB1005BF5EE3E5B14D232C8"
-    "175D7840FEE93FF9CE737BBF2F509A0A00442BAB2BF35DD78DB29F94B36B8C299ADFB52AA0"
-    "8F999AF21A1364E404B257546D3666C4A2D450A01B8164E5B324F3AF64C80C55639DD66A09"
-    "3D312156C8789BB2B6C2306944C6C6857694810AACD91770E521ABD65D5780A7EDFA3C3200"
-    "76A5F962C7E832D0D5C259A850A3D40FE0FA29543B5E23ED6DE1365DE12EA159083C2E8A8F"
-    "AC754A598BBED29A09C548F31E5B35B03ABCF464985764E931C83D36C5F218A936D9E53AF8"
-    "6ABEC84F256BF803A8772633622C6ABFB7A92204D42C3CAAE09444147D6205235974298BF9"
-    "94795F0A1055AE9B2AEEA4B4D0057A6EFA8C2A59A0EE9BD608D001D77D05B043CAB9CF6255"
-    "6C6A80FAF2BE74941D58BD061DCF527E3461EC9DCA72964E5F15A0C7F588F167CDD7D4671A"
-    "64CFE6C6464CDF3BD704D7FB93EBEBF92A870F1DAA6A08CCCDCECAD5575D155D02101C47A3"
-    "67BFB600E2BAE076809B614AE334150088FABE1FC462B62167CA2832FC9FC57066F2D66FCE"
-    "7EBE5001A7F2FAAE6366BF9D041C8A793AF3BE7241D664A4624532C6AC99B964C65AC17CBE"
-    "2481A0BDF7D496C7798A2A465654BB121AF52D5B378A265F0902A53B651C8ABE9B40B05482"
-    "532DBDC40CE8109754C17233A5EDEA8A2CFC70D439D52E08A475B23FDD3CB68250F50429C7"
-    "06A3F53724000E12ACF45B05D586393D9F5BC500943A12D523533022F4A1A96C024C33BA8C"
-    "919AFD475AC847B87B815F9FFC28B23D24D0D3D538017A56A31C244AD72714AC023DCB1DD1"
-    "8824137C67E63B69F7237D3975CCFA54807254C62B670C8CD2BA0246082ED616BDAA1695A2"
-    "DF74EDCC7AECF856DF5303A324DC74A5DD314983BE6F6E6DC9D2E2D2F281FD079E5616C0B9"
-    "A03E165DC3BF99B1F5B69E0D029FF872083B2F549A0A0044DD686669F8456F5CE5032C227D"
-    "D1BFD26E02BC7C3A33026DAED2AE49036C50FD4E2B6870F7AC79B21B637E5E5A1F29CB7AD0"
-    "D0765F40B4B06A13F8E820FEB80652AAE509B1DF3A586B7CC872467F2EF51BAAB614927340"
-    "DC98862FF91CE5E4E5BAA1DE4D39E2D5F324212154A33F7C07B0E57E6449ACD8844B6C8206"
-    "AA71C11FC7B5C18263357A9C9DC0A99CC318F65296AD1E73F954DA7669A3D340BD1CC74093"
-    "C95C8ABB54C09A04179E2676427154BE5049DC8E2C13A1AA14CC3D2816191709A56450D4AA"
-    "7C7D4F695711FCF8BD166A7CEC0D8B424B25AA91F0530A7A75D5D870A97021F0E7F9D3497D"
-    "C3D55A16D6B293DFBB2C91D092D634A71C21CCB310442DBB1BCDCDCECE9D3795FC6667E622"
-    "2FF15C97539A0A0015F55B5B2B1D7C636C321C7B9312131ED5CCA89516A854A52875212B33"
-    "63DAA2D47C74AC397609180571E00D0AB47A3C591EBA72DCC0116A861D8F19156018BBB6F0"
-    "A0C818E31C3F6E9CF9B12B256B950E03CE5B68B960031125609104148D0C1F70465B2B7DE9"
-    "1200D5B0A95A59285A28971CE8A9E852155C671E97A78057298A8C9604523C5E6C69089441"
-    "50DF7865B9D17BE8280A3F1F38164C50CF9FAC5DE73E9515146D16407115D8F3551808E6B6"
-    "0C3893F0AA41AF3C171C29289DA682DBB8C69CB3083818B47A15531F48F850318AD7F3E8A8"
-    "232C30AB4BC1D603E1EF212F16C4081C067381612255643E5B9F4211EC924121833EBB2834"
-    "8E437251A37116552C0D26C0B61719CDCE2CCC2FCE8F2D08F4954AF34BF332333BA5463B4D"
-    "00002000494441549305E529D5341500884E9E38B97B79652557011C2FD6C3ECB388DDFC22"
-    "B316E969CACA5018E42CEF6F09ABB54651E927F99A217B5385104C12F32D418263FD222B45"
-    "15FC504E2FB714EC7D5981605C4010B60288BA6FC759570CB00EC4BC8C8A1302314EF5A967"
-    "8D5A39BF8DC1A801A8E375EA3B5A5950B122D4C3107855BF2EAF359B050FD6F6AB804302B5"
-    "0AC669FC4B5A571169FA7CB7465CE8245F3B775014FCC65D37F919E8F85436F37AFC82AE80"
-    "3D22537C1D50605C57E4EE308F9D8B12E5391E34432554724995C150D4DEEADEB280C7E396"
-    "DB1D9F6FECA22A8FBEB4D3552DD4F3825D61E53707A636DEE920958549D30BF5BDC98B09A6"
-    "4936EAEA472134D5F5152BC36584C040CFCED1F48BB062DEBFB8F4F168657565EDBCA9D8B7"
-    "BABC2273B373D2F75B63FBA63415002A9A9F9D5D2EEA55577BE8B2BAAA2A34713DAAF2C7F9"
-    "E59233076BBD4C829857B3330CA950059A6486F7C04748C7348D540CB15C964CE4BC8773A1"
-    "B326C9CA7F2839919EB0205AB92CEB94B54094D31989B9AA601452CBE43715CD3050FB40AE"
-    "1A580AE78AFAA64357003F670494EFC5B2100A2E12EA17057CCC085F9833B5532916E959F4"
-    "63235D0B6BB546375E34C88A51F94CE323AD9F73FDE4EB7E073AA48CB942442D6B85F1F003"
-    "1DC4AC41D33A16EEC1E572751B65A961B6C1D4F115B560935D5354EE390B275972AE85F03C"
-    "6F34ED74C462553D2C6372AE0A98EAC6D17767ECB83451F3F5394E42DF751DE3513144701F"
-    "BB2E0B061C255004645EA593C324A5C4D398DBB222771103822CAFAECAFDF7DFB7FCC94FDE"
-    "10D3EFCE07216034EA64756D4DD6D6768DED9BD25400A868667E7EB94E3D3207F88A6D6572"
-    "2C3EEC724AF6418F9D1B88A1711BDC74C7884F6DD4296F92796561317501146D2914F8E680"
-    "2CC6F6B13EDAEDD44B6F8CBA7A4CF88B323E3E4DFBAD7D35FADC58A05D61A6A5A470C6FC8E"
-    "16BDD1BB36A096B5D60A978DC5A10BD5F5735B79719FAE04C5698D815C9CA8BE0F15586AC7"
-    "430DF359E94D9A684F92050B39553D0332A3B36C50DA678DDF9835E2CA8466BF79E4F6C116"
-    "B712D51730C28D7B4EA74571B88D7A0A053BC5EC4424B7949ACA799285A0DBBB5A9D26A9AE"
-    "332D97FE537C80FE095D5E186A883F1995EB74651E9A57B2B4AF426E722DE97CD5199545BF"
-    "149B90FB54DF3205BBD276C834D95C95B6A5FBD5388BF86C51A848FB1C3AD9DCDC402AE0DA"
-    "25975C12D3E3CE070100B10E175E78E174F5C2064D0500A2D9F9D9E5C069CC564570026D2D"
-    "59B37679B11902EA22374C2EEF656D9FB4E881E9100872DA970DB1A6AB8FB40FA455641160"
-    "4CFD34AACB1871FE9E986BAAC9B8CB5DF29AA94AFD8A917714E8593BACC6A0CB96837C7D2A"
-    "485347489788F97CFFD932D2512D01B342A1F023A5004102767EBA2245892D8B0B96BCF5EA"
-    "DEB35721E49CEF5EB32272CE7891CEF81A9CB6C8BEEB8ECE0922D575AB6122E064DB916B95"
-    "50C053FD7D2C6E711CFCF3588954E31905502A98C4439CB32BF44151F060AE58382AA97F46"
-    "46601B416AD4AAEE3AAFC8CF5F816911CA3320EB73EE876B079D7BEC5FD767A91719B1BB80"
-    "D22FC687A812C2B22B221FE28DABA42584D2697DB9A7DC0F8D11E8CB7B846A7B2BCB2B8B2F"
-    "7FD9ABCE1B17C0D2D2725C1B629DD211A754682A0010CD8C468B25BA586A17C08417A69213"
-    "482395FC7ED719E2E359BCDB91329AC241357FDB5A1B6C0474C1F59AC9D75AA41856CCE4F7"
-    "D3DE418E8EE6F8803A58DA70FB2CB554017C9D61C43AC039952A6FAA03F34AD05346AC7C6E"
-    "59E29785A25227BFB0F1909E8FBD5306E0FA1E829A99497ECA233D8E6EE9AB1A7CFB2CA7D5"
-    "350CB8BBA14A2DE400B5FCBC6D7609F5BCD41DE00742F755654E9467691B2BAEA67A98ADFE"
-    "1E28C8CE8EE19875642C46918F1B4FA7D3FBAF5FAEA2F9D7E342604CDF8ADB4BCF55E11290"
-    "AA8B0E69FD0875BD95F89B2CDF73DF726361A8069078471566D7555D49E77595409FDD1DE5"
-    "AB79FDCA4CCDFC461596EC8EA89F2B7715568C7E6B63F1D4C913E74D1060E8B7646E7EAE0A"
-    "DA9E52A1A900C014C292973267448131F264830AC394714829055A95959D44CC044C15B08E"
-    "4CCF420C3A8388FA0E59A312CD16E85C46BFA3611ABB3F2986CDB1DB2106CCEB008846DE53"
-    "60A2A65171CA966ECF88412D925050F9B4F3954BC5BB4A3ECBD9185C1380AC0319D30AAA77"
-    "C4A38BA657E204B20BBA124042F691C7F3FA320E35E04A65430849ABAB65B4AE0A082BC35C"
-    "CECB2A7F96463A5321B1142ECA58116AF0ECA4F22255639D3B5BDDA841639A85C2A0DD9592"
-    "CA63C251463CAEDC58F6B1364F8752FF8CB041732A5B38BAAE58BE3AA9DE090DEE2BD93269"
-    "6EE68ABFA4A16753FED8442F634BA3938B03B13C4BAF8D3E9F9245E4B46B5673F4A509A94B"
-    "11D3630AD5B56411AB020EB519BEF209D5084723121AA754D15400203A7DFACCCAEEDD0BB1"
-    "60C640E5550DDB080192CF60AB818CF9162BE26D1D31ACAEE612CC623B161E949315F64FFD"
-    "D0DED4CCB6C4235815AF2888818E1E3BAEE0FD84F3983D3154756307B020E1065CE9FD730A"
-    "5A568154F32F8BA2D8108E5CFEB50B79DC028F43BE993A7FBB807E9757D8E30C10E2F5A4D6"
-    "EAB8F24A79216BCDF96130B0FFFFECBD69932449921DA6EA995559353D077BB800C8DD95A5"
-    "5028F800E1FFFF29C4072C787C8108B0D74CCFF4559519AE940837D5F79E9A4535A6201421"
-    "32DD76A72B32C2DD6E537D7A1ADB0A98EFE101AAA7830600A2AA97161CD0A03384010C2AFA"
-    "814D0EBA90CC00757D39969E768C281C187C651DECEFE27AC56FDB271D53415B3454EA146D"
-    "309D92112DC17E3109A2CC39A5B44AE0026C6384F255DDDB70686D5AAB5E171DDCCA5249F3"
-    "06DD00EF6906B0D820791CA058CB305DDCA9D0672E16ED5DBFBBECFBD516FEE12D45015C33"
-    "011A3B9A9E45CA0900A8BC7FFFFEF1B28390CA11E966BC7B07C899625931032F0201E62025"
-    "5AB542B3290AB8221432194853EB364E5C64316926494EFCCC24E02DFEFAE59F3ADB672951"
-    "C59F75F6B298E645B21BBAAE4B583A5BE5B3CAA0793270FE35349273DBC3D1CECA851271F2"
-    "33B1ED367F1F5101C2A6BBA0CC4C521C369B2C4DE689BE26C5D4C853BD67014CD6C8EFFA08"
-    "F7F3AE477083BFC1024C26B87111A418F0D08214B14D67584A74346D79ED9F686ADA96399A"
-    "94C1DDCFA00915CDD10FB2B3C0D17271A6532355D382F3EA5B8E2D43F88E2F05DCC895D81A"
-    "F24A535D5FDCC025A20515ACA716C2167B9E7134BBC418452DB499A6179F9EDE3F3E9AFB8B"
-    "BD81F2FEFDE3BC3FCE52E504005422E24149204BAFD63EE3773E84B87236A5DBF9DE809468"
-    "5521DE42F11A37281926D5DEE3429DA4D90930344D2C87D225C51BE16E4E36CD6C7F4A1A83"
-    "AE281822C99993A9B4F9BA5D0F9BFD2FC9DDE859F1AF9F8BDCF14EB3359815AEAF2547B11C"
-    "2E53DC680CAFE4E28DE2DD9D7E21624C1EDC6C463126F67B4042273B3187B871A866480332"
-    "63D314B0485D110777A4196612D566A6BB1D2688BA246980AB9CBF7BA9A26BF159B4F745F7"
-    "8921CB9D174BF0B42EAC61E917F9145834A88D0E1C844808E98E1F66943C6B39319E1349EF"
-    "1558BD7DD88D66A8BE079EE0734B19FA642260F6C8A9AB85A1FDE1847FCB87C5B09745C311"
-    "EA28EB9C0383D7DB83EE283069EBF1E1C13E3D3FBFFF3FFEFDBF7FF7E9D3A797FFBFA403FE"
-    "FFB25C2F3D3A6E3F5C9F99B75E4E0040C5DD1FBBC3549DDD86C2B73B926B1D682000480206"
-    "69D51B30E8DEBEEE3E7DD70FF5F122D4B6E5ECD664CA64B5F50DDB48BB94B628ECB478D0D5"
-    "2EE7F0386C6E67FA15E399C39E9A9D35E7ABF9041879C843D21A734D14376DFDC6F6EFE207"
-    "B085BB49761AC9D19FF3DC994CD0F7853E04EC79AD0F27FC49E60BEFFDC465942B30FB41BE"
-    "004B274EF9BECBF6A46519E0A38457C75C3023C5CA58F5DB4B321E1D9214C27D9FD1F8C979"
-    "AE3B31D63E9EE6B30188C9FC41A3AD58F9853FCB8E5B7BD9C9BF58E384B593ED3BCD1E407C"
-    "45AA8C866348FF7C8CFB35D2557F5E26957E21925F049AAD72D8CC05CAC80B9F9D5B2753A1"
-    "CC9D5E3E958F5D4D9B9BFBFB7FFBBFFDDBF711F1D35B30035C99FFBB77EFED613B59DDAA9C"
-    "B34225221E59D229C2E190B80108BABCDB3EA5C03D547C5ED21324DF2F1D3F72EB1AEFD32F"
-    "E4C407F53509A70B4061D655A64E0C617E560AC5B7133F5D3078050B7D3CDE0CA2131CA088"
-    "04300E038872BE0236891C6B058C021A55D53F393D1687132C5513252978871643723964C2"
-    "2104C60D8548DAFCC156342E7F9E99219E5334018D7315A4D1520ED350EAEF4A0A4CA18FA5"
-    "85D024FBF77A45926C420BB779AB3010E17D4DD22C3B3CB2868A3B4E66748EC4B9FEBBBA64"
-    "B09EE5505046149E7E00B48F9A3367F6C7A9426831D41C97E6B6D8123CA7B6074015512CA2"
-    "8A3A720854AA6E5C2694B70BB18B6AAD7B2A17364E3E009AB42510F090444332AD222DF8CD"
-    "F3FF72B9BCFBC77FFC8777CFD71B01DF406CFCF50AE4EBFFF69E45EB2CB77202002ADBB63D"
-    "A93739712AC2EDDEA848D3F015038EEEDD5B07BBDF8AA7A5D14593468478B26D16EA7C11EF"
-    "4BBA3353EAAD122397953962EAEEF4C5CCD09925F5B02E6322CC4AD554AD93F458124D5250"
-    "22D2298D26918F22D644F8C9BE6F29F8161E239021391578A83A1FA95AAF70316158DE98D3"
-    "18239B4DC69AEDCC95AA511ADF2DAB20CF2198A384F709C59F197AED658F11330E0401D0B5"
-    "EB7B043E8EE92149BFECD332498319A20F05A37A02230129B3F28492DF617EF337D1040D29"
-    "B7221C7A98237616CE5B4FDD3D806CABD74CF8EE8C12338CCE8D460B7A1019A95F67B0F51F"
-    "2F17A0E034DF0286848FCB21D7C5827EA3221FF06499A3B65FFDE69BEDB25FDE4424C05503"
-    "703503BC15A7C7BFB49C0040CB134813E9D7BCA92B1BA7232D5E1DC052DDB14AD38980AC38"
-    "28556F4408D72423A5E226C5F60B5BCC98DB0930A86C779353A0327F341C9084BBF44FCC5A"
-    "7A8BC958D467323FCCD0828825341D0E464899FA305C628E06E9901401350F99950E1A8D2B"
-    "B3CD303592B6E845666A3E3CC923C8A933730E88A2007B20FD0D92A18230A36BB1609441CF"
-    "69DD3A6D5C32031DFCE1002E2A3262BC1CD84D68794BF30365976B790EA44C2969750F76A0"
-    "890BA9AC39CF99E4EBE7AC8DECEF21D104AE0EA03543EC4720B93378F36D35B7B8EE1A9C3F"
-    "99F36E99DBA7DD05DCB676B628F70894792128124150099E73C71EB3050130CA0ED89D038D"
-    "FAAFA38410E3EEEFDF3D3DDCEE3B79034CF1FDBBA7DB5D0067599713005009B377B3FC3433"
-    "FC396C898E7E25ADE9928795E4379DE83BCD986BDD70660B91E22643FA6A0C023E8C88AAFE"
-    "3D95DEA1498A59CF4912C8B2E793A43E8F7B10AC247E418E4C9CD92ED5ACDCE90240E95CA7"
-    "CE547ACF40541DF57EE03D8F4C7493AADBF48DD070B6F2BA376DC78C255D307A8881F3A88D"
-    "D63DA5F4BA8CA82D086B9645321470523BA44028EEFEE73E9B008F69F9092CE5DFD0A868C4"
-    "009EEB4C1E60945AAE8D07888D7B25240B1E7592595A0F4194088FA9A446265B7739A312D2"
-    "573CFD98490F64A02C3343CBDFC1F3575940716B96D5C6CD5AD8FE40671BCEBD26E62F778C"
-    "FBB63D766AA28DB96A9B1C6BC6FEDEFC7AFFFEF6DD777FD8DE9A09E00C035C9713005079DC"
-    "1EDEF3ED66428CBA5D30CBC4D0E95812732EA18B92F7248D702105BD301304316607292326"
-    "2ADDE85A0BFE7AF15B3DE14C747BF9920683B2C531E92B458A125A6309B944A99809239B20"
-    "C817E3088173BDD29662C5CB2B60DC9687BAD8C3422547CE2A87786C30E5E25F0B7A724BE3"
-    "6BE9559F9DDC27ECD5A6F920E87BCE1FF35EF5F8671F0498219A5229E79A24D4629EA54198"
-    "99B574AC05E815F809BFB3810CD27A810A8637FA1CC6C31B2494A91288BBDE8BA0409ABA6A"
-    "98C7FD76DB9DD3F818E819EED8E5E6CAD474248C11C0D8A2744A20A7A3B83C05ECC4CF3701"
-    "8A5C6E759F8459D0678C31B3D7E5F9BFFEB53B5C15FBAAAD0A9BD7F697FDAAF078F877FFEE"
-    "7F7FDC2642F6BACB7917C0BA9C00804A583C643AD0BB5CB9ABE4BA10DEDF2B1AC48C9AE8DE"
-    "2FD0E42E35B333A09144863E350FB1567549554CA10437D0C53B4692DD246541BAE3B663D1"
-    "E73E5F1A55E0448D131C2CB21F8D1F35490C7F8ED60CD4B33175D5E929958DD979B086CE73"
-    "D9D6D65D6FE973DE229CAFA624569DE3027112563FE77380B6030CACDEF7260513630D0112"
-    "8D292FC5FFD42C688865D4EADE2F37BF86AC83D791A32A7A61DF08D3E75CB7067DEF2529CB"
-    "FA7BE6FA0B0217E478D8FC459C2034CF61C4ACA94A10D45304F3A69B9C0B794FA7839FE17E"
-    "04951D18F4223C55C25BE9386089A5D11BDAC057AA6DB866C5BBF6EB3FFE87FFF0F8FCF9B3"
-    "6D6F480370B99CD701AFCA0900A884D923CB3D33F7EF1C409F0DBA21142403D9EA8AD04F8C"
-    "73CDFC4D2406306BB6C16B085FC5450975579B7E471DCA69A66EC035BE3D4B0E5EF432ABFC"
-    "27A0540E553E493D20C8813EAB384C202163C0AD181E5F962480A0D9DF8DB505960C3A1458"
-    "C9D0356301D64505EA1BC3EC422F33E6C83E210F806A238C723190329F2A9095F27605A0AC"
-    "60E8D2914C7E98BCD3D9B18389C65D68CD3CA309F694CC67AD06E69D742CEAB7391736D330"
-    "F032F8434CA76D0926B04A58375F34CCC010DAA23DD8F7806A143BBB4FE1BBDA85C1C0537A"
-    "F7F6DB718D5FED298655A417A8B6EB748EB56240257D22C0E11DA6D5F3D026BD7BFFFEC1B7"
-    "ED4DDC07F0743A017EB19C00804AC4FEC1FDA108880AB72CE29B1C59B9A8C64B5698847240"
-    "7F30F04ECAD8CEDB7EB9FD57A4191F2A700606A40F7696BC8A6372E8E0AA07341F32CAAD40"
-    "0D66A081074998A2F514D162864F594ABCBE4B2968D620281DD7F92D898CB537CAA6317F8D"
-    "93C2762BAC187CB08006E72860C9153676C500041E285F41AA0CB0275892E50A24D441E603"
-    "5A85A0214731D3086AAFA934BA822BD8D4D09CE9EAAFF673C47AEF48929B0264BC07A75784"
-    "396DCE7E18A1E0213BAC385414609C680BFB7D53534A56E36EBCE2403C0422E97C15A2B444"
-    "52AD44B439E6A4450A4662B83D78071EB76B9A09C753EAE0727B65A93F01E3E605BCD91701"
-    "DD8636E8EFFE97BF7B7765FEAB08A0D756B6BC01E2BC0C68594E0040657FB9BC7F787AB297"
-    "E78B4AB6C687DB161A006635B37D8E2A41485E6A02DA21EC12A370CDD1124B5F887D766803"
-    "26F14CF4CB9364B82AAC42E567B527D1F9521B2E872225814DFF0726BE4995E7C442469809"
-    "845413DE149B25C995C18F1B5DA4C339EF730C0D71559818CF01694EB86D0658A2BE0EF47D"
-    "AE8C52330B40BBA367684BCA2C7A0AA0603F0A17A45038C2691F66640A766263D6C5135B7E"
-    "8C3B7B07E614B669CF20A66B33120CED86FEE40E0B43BF15014431B992E62982A0BF85C694"
-    "21A6645D19F8C06A8F9A46E440DE0A7068FABE400FDC276D02FA0046CDEF468EFB9A60C887"
-    "6A27B0D76B0FF76C9D6D19CAA1B6D61F58781B7702FCD33FFCD3BB7DBFBC09A9F84804F4EE"
-    "96ADF32C73390100157F7878D877881392E56BC10C9318C5F4494B1156269CE06AEBE2145E"
-    "46123F89A44DBD87F4BED9D42F31FA48BBE94AA5DAB4A7ABB141EE5529187590C4B2610AB2"
-    "2E496E548C7C7C43EA59043B406E2DA9B1220316BD754C44B47E393BD0B5C881620E4DBCEC"
-    "700DEB1304CC8615DC015AD027404461B646AAF57CD64D9D0B7A0A60C253B42083B72520CA"
-    "BD16C5640B068A2968517602187CDF822DF025B55F4C79D2AAD4DBF5A96B4D9C4C388A31C8"
-    "FB8EAB499F0A06C9D504EBC9C945D6912DB2924671A449F539355E21617700EF0080D9BE38"
-    "FECB9E963484128A38F9C32CAE53967D98794478DEB75A283A17A42130CC9DDF9676DF2EB1"
-    "F75A5E65B98E733B9300DD2D2700A0F2B03DDCE2638DD466EC99CC5201DBE6E53630D114D4"
-    "23A2CA5D08F513218EE8040577C6972313D9FF98C083134C439402C978EEC6464D2769998B"
-    "88E760C2ECB4C8D3128D58D7B3AA723723BBBD690E744E80A38C28FB60457C4B1672305E96"
-    "E069B24B1B83CC722D1A3FC3074540A619AB3ABC80478DA8221D286BE0B41810E571D19D2E"
-    "628E97D5EF320719BDC020D108D0B6D5FFE206C96ECBCD77A39EBDA9F66B9D5DE575A82504"
-    "9818AD8D2513AC7DB1D046B036E1DA9F2D1DF122BFAA1D140540A611D52454B480F31AE5B8"
-    "94E16EE4EB92C778629C0C3AF23C9A436B92EBE1FD793D7BA51868587B7204E6FB37382A20"
-    "5F4EA7CD40C6D2D4805DBFFFDD6F7FB7DD12192D51DCEB2ABFFAF8B1E6E92C733901001537"
-    "7B6046CA8C4798B8F88E2F848FA9DE8C257721C8F5F2E2207AFF40CE83C99E326E3D1B0FEE"
-    "0FFD7098068E3E6F8DB92C99D14AD2BD33C6EEC4B7A6BC0BB7E7E8CFB6FBEE396CD0E89633"
-    "622A3ABE7BF38AFCF7A2D1E90C9C469C121AFC05185C9067BFA14F6E50CFA68ADCBD04FB31"
-    "471CFB0F2401D3F16061FBBC91A6844FF96E5D78D3C211684CC51764DAA3818CBE0F522391"
-    "4CCD0AC0DA82F90731BE7A3F25E305E8E2778EB903139B7724DBD4FBBD02099A42F6426A76"
-    "BC1F0761A06B8E5BA6A2DC7B02FD318030A4E4CDF5F56A73CCDB74EF463EAB2E41F9D0042E"
-    "6835D8D4D5AFB817FF191EC7ED45F82B5CDBBABC5C1ECDDF8654FCF272B1C7C73304F05E39"
-    "01009597CBE5E1C3BB27BBA6C95C80F5764005A28FC3DDA4A57150A17E230E22C862510AD2"
-    "2B4148E2E544A86C241801E3629227B233318B796C4B293F947FF7E7F3EF1428C0FCE6BAA4"
-    "3DA28A652F16E98A184C693EDA33249D263145181FA51416299D3157802843675FD27B4AAD"
-    "EA7100E86416256997D41D3AEF95CC37A5C2E1718E690051AF77368EA7476DBB194068746D"
-    "043E4D0C8FA4631F973989E75C500BAE9C2521846A1AB4738C57B06DD1CF3E0E861B1562C8"
-    "C04E183C65334C73CFCAC1B5B40E56EB5E511FD47E3144FADDA82FF5B9F63D32020685E5E5"
-    "D183CB0D79E96FBA97529260C99D597A1BC21244E3DA6B9C1541141EBA07D23722D74F3419"
-    "F180C57CED256E2180A9D93D8B9613005071B76D0FE28C64774C89B4989E0AAFC41A7AF4C0"
-    "F10F10FFF170DD07D2FB40E0A11382821175BB98112BF292207B5D41E3717AC69916AD983F"
-    "7D3DFFCACE56037454063F4EAF6ADA5695E089EBDF629ED391B0D2FA2663C13CA7F4A3129A"
-    "32163129D02C6D04062CDAAFE92B905A213265688FC1C877615C0109D8ADE61EF1E1CA4801"
-    "5494853BCF4B3973BA48BC9C9D50986BDB13B729DFC79A2590A88DD236B5855C7B2C6A8479"
-    "8BCCAFCE8F8E6D7DF574DFF57DC96931F672FAE388496911DA07F4679CA937EB96844A7966"
-    "02E770CD0AC1A0F3BC7B6A1B6EFB6693EDEB94D80BFBDE0554800D3B81D8A3CF5DC333817F"
-    "D248948B620331307FD1A123E47EADE17A05F0DFFFFDDF6FFFF2873FD8D3FBF7D3A85F5BB9"
-    "3A007EF3CD376F22E4F16BCA0900A86CDBF620E142948AF776CEF80EE095AD5F88C9C0DE6C"
-    "8F8C4C02D29DD2C0847BC814F7A1DACD07D231B0B53CF705A8A27FC7B4B4EB0C96A5273E32"
-    "4E5A92FDAAA07E70685623B4B28E871EA48CE87D180B567ACD6CA5EB752F074A26B73D0CEC"
-    "1828181B4B4B35F7ECF99FE380D02F60016A69966E4D72FB9784E651B601056C6C43BFB38E"
-    "5DC6977FE627B924B0CAF0B279E19D1618BDD2866660C2BAA0C84572054A4E690BCAD94F52"
-    "14431333850FD2A6AB3D509A82EEC482F155CF297A0166BD185919305760F93763198D1B8B"
-    "8A2894F95A6E33C7798D0D478119740B8795F3413DBB7EEED9FAFAD9E561D79C64AE89A8DE"
-    "E2590F7B797EB6BFFDDBBFDDFEFAAFFF7AA9A57B6DE50A787EF7BBDFD9EF7FFFFB573FD6AF"
-    "292700A0E2E60F4C388425D5A9BDC3C5B248EE7A48B14CDC505FBE337DA8679C1EE6882EE9"
-    "137BB033339A85C939BD2C35B796868E38E4F0B8037A42099AC1C29112EBE42B111AAD602E"
-    "BEE0D2B122E6EC9D4F7903F29DA8A908AA4FD922D4C64E39F20D8E82F3F4F7E4BCE06A4559"
-    "BB892024CCF0E8FB4834535237EAFDA247FD9D1F65496B918BBD0246B49408D05EDCF7FCB8"
-    "B1C5616086495F592377F156352DB8321CF5D9F0A1CEDF0B3910834F4D467E939DE6D0CFF4"
-    "71C8B87E42A2A1DC9DD688B72D259FEA1EB61CEF6F50F98837BEF37C14A6A64C896858C2F1"
-    "B20F1BED5B4E2BDEB07185097AD37AB1A6C391342AE89D9C365C4016A26DB86A383FFEEA9B"
-    "F7D7D4B8EB844AAFAB5C350046B4F12C5A4E00C04542D50C08BA01766B1B6AA5EA8E110A85"
-    "78689236BEB019411B9BAAB8548C2AB570BC3913507A442AD743AFE8604D0E0E2BB617411E"
-    "448DC188F737B82E9AA7629300044C34EB33031A0A4193EA06F565A1D5685D8A280EE0328D"
-    "9435DF24618E4074D4519EF7B3A42C3339287B18DC0902DD1CDEE42BE919DF088C2084D330"
-    "DC629D581B022ED07B290E72CBB532927603FC861C4FB90FB514C964C011A73DB047A6D2CD"
-    "F7911CC9584A5FF68A121CF16FB42FF83E888C90A96B82CB8C77FCBB67E4DC3893DBD82790"
-    "EA8FB16C4E6D545B80E441BE3C198ADBA3156EE0E8FAFDC306509077355826F0027689F16E"
-    "DE6900CD931368516D452A1C6A4FE77D19D1FB7EBCF3FCFCF3E3F3CBB4895E65B9EC8FF6AB"
-    "0FDF9C3E0077CA0900A8EC7B3C3E5E9131E5589DF89BCFBF882DBD39A525B980DDDDA7F7B9"
-    "80482841CD572A6C495480AA3C2EA6455DCEAA9431AC097A2FDE7A7854CA042C662988F3A9"
-    "9710489A00EDD431474409416FC7D862AD5636CA88084B0331080248CC5326AF7AEF0C9358"
-    "B4E715AE145B6FBA8ECABE86D31DF97D04C5A20B960825EAAAD549C9583BCFCA8AF2A21734"
-    "C2497FACCC230088B846BACF95579D2EE351E0C57F862C275F7073CB25309CDFBC2F498D4B"
-    "A71BA681F9A8112C9B208299EE3D9C4D4D9C651CB6CBA686DC0B5BEE3F48DE3E4042FAA26C"
-    "860BA92A3745AA07D23F676B627D021C8746035075AB754B20C1F749E03D1D2C83DEA200A4"
-    "1D0BEF3374ACD7C7A78FDB55327E0B4C312F013A2F035A971300708938F8EECEA74F4500F8"
-    "288D03BC7D4112A6DBD37C108D2F79C9733BF991ACAB079322CA803C370C2E48C263E9983C"
-    "993B59E84085641CF9AF88382562F812D4F429D1988111739D237325DE6893B4C8C918694C"
-    "023A98B3B6DCE7DEC0124BD75634364A723AD62B6ABDB51F9AFB20C7D627B57C1416402BEB"
-    "DBA3773B48DB90CC37F43DAEAD8D5336CEE06825686672A002434D2BC2C02AD773A7EAAC35"
-    "3C1E48253933D89A8E0D496CF3BF09F26446725ED962C0FB6730381B8E9537A7B979B4052C"
-    "83FAC460B8762669C2EA7443BF4F93BD13BC86D45E7B99C1EF48C15B51289992B784025C56"
-    "A453EED6B3D41EF7082CE843CDCDBC07ADC69A51129202708CF15089FFC7BFFF3FFD0F7FFC"
-    "E32D47FE6B2F571F806FBFFDD6FEFCA73FBFFAB17E4D39EA388BFF00002000494441540100"
-    "1577F7BC3A364F4D3F87DD9E3D7153A3EFC9E1A85E21E16E82F4F72A0B207B304088C3C7BD"
-    "E541DCBEF70DF6736D37592DD890B79785FDB06AB73A83E7C529AAE5EA07D1C29799575F89"
-    "304185489B2D66913DF4BB148CB870B491D2286089958D5EACF7290D27A36C7D52E6971223"
-    "184297A037CBB4B6B32A9E6BCAFDE0199E97F9032CEDF0210023B83F71BF3E2E883C607B06"
-    "ED21DE8FD94E4A9D586CAC256BA2788F50564A7E4BFBD30E94A4188C3A79B306A025346A7D"
-    "CD7F3751CB2BF32F2D92692AEAEAD978A162F76BCF02A81678EFFC794CBED20B726F8D8D9E"
-    "8373E0C6218454E9C4FE695C7525F16A1B3826A6D2700B4A76BBC4CBC3CBE5B33DEC532BAF"
-    "AE5C235E2EFBF3F2FC9DE50400527C5085E0A31B74A698872D1DE250705E551616956B169F"
-    "A8A4FC540428991539CDB1AA2F48A50D8F60E217D335A7209D8A4732D908FB2D58B5318317"
-    "63B4339728DA43120A331D720263553CF795B308765F86F17D79A0878BC62123025202A651"
-    "4E33A157EB021454C8D5BE973FC64E77F897744D5EFF3959D022049966D0086B3FEABBAEB5"
-    "00BA98A6974783E53912031DFE81EC5F802809009B0415A48F28A7386D4FF0023A280E7FE5"
-    "6CB9BA3068EC832B61DE9BCD9C70D4B24401B23B0FE55908DAFBF49B8FAB3AB1CF780026FB"
-    "4F802A66B4D202E76B691A0234D643E05C593AE7D1E4055D3EC497FC74F2C23E02D04448EF"
-    "2D117E501B880E4079787C67EFDEBDB7C7C777D314BEB672D5005CC7795FE3FAB6CB0900A4"
-    "C4769CB2C566517164FAB90A4BEB257D0DE232886A7863B82B6236354799FFD8C62B364C4A"
-    "80C2529E00073CCF1255A6E93D6808EE2CAF27E49638C4B62BB85110511327EE0C2E3F31C2"
-    "EA87B4C00BE73C28666E35263323BB35314BD20E548FA6042E680D7F533A6001032604DA44"
-    "D58AA78A504BBE1DAFBBF2058291144BEC5739212795E1B6D833BECD5B01A8A1A9887CD647"
-    "BE1F6A07D7F1127C5844D961557BE447B5282FD47CCD2A8906B2E167B194D46AFF3710D07A"
-    "25DA39EAF7D6331752C401EE1E68A18C03B01D5FA4E39E4AD866A491A928FF387204F09E24"
-    "E17EBFE6E0F7ED703CCCB98C7123A391E6A103F668CA121E688D9E0581049B473861AEEFCB"
-    "CB8BFDF5BFFAD7F63FFFFEAF2660F01ACB1500FCE6DBDFD9C70F1F5EFD58BFA69C00408A6F"
-    "48297BE770AC0E0D3BEDA4D4CC126B4A3644E105D14F18A031CF62360669BD27BEB1765318"
-    "0107AD993410A361EA66750E24DD8954539F3A81CAA702AA7D6E551CC98490D197623255C2"
-    "69996BDFC921B00FAF7DD16FEA13298D4302C7585932874680C20F690D6F4D6D47F6DD9A97"
-    "E62D9FEBD6257E4BC94FC200E19BE04629845D33FC323FCD76C1EC2105EA8AF33D08D91632"
-    "1B41808FBA5AB6AE96A650D60430B9301819693968CFFA0240013380C9197FCF25197982B8"
-    "114A582F04EDA1CC84C9E03B01EFD0DA64B2ACAB67C2E14730772EE72A9D37D53E1FB2E7EB"
-    "D9FC3FCE6DB00D59A2C5E2DF6EFB33D510C6749673DE1DEBEF4764802ABE42CD1206D4868B"
-    "8B08A0C70140BEF9F537FE569C00B7C783C53D3E9EAC6E55CE59E19202441283BC78440A8B"
-    "CAA32CC28F453DD754D622914EAC8149AB15B74198954ABDBD6BBD4F0B790A7D24A2DDBDDF"
-    "E1DBCD60A6D5D107BDB3FC42D22F3D5712642548514D85380A16A820A97892FA6D9A9F0236"
-    "E553C06DCF12A98CBD4041FA4CE4BF2A560A9FAD9F6A81481DCE1A1A62391E9AB2993EB2A3"
-    "693E6BE948FA05274E97B9B4D20E80617123467B9952113B987F90A73A802A766F5671EB26"
-    "79FA9703E422A3213A8DF9A9B7BA5363D052911F484E89EC4BCAB90F703B00D618D3115AB7"
-    "A96F43BDB4559B871342861D6E340787C6277739C24C69E62562C72AFD6F88E6C7DB40181D"
-    "E919625F3E76EE755A428D8575015EA2D518DDFDFCFCB2BDECFB4C3F5E61791771737CDCDF"
-    "C058BFA69C00800A05300DA9C81940CF12E7B204D5A44C2B9AFA570A112EB5B3533A5AA6A7"
-    "81764AA5CFC4C04038F0471314EBA719827CE9CFAA8F10405E60E3D37B219DF0BAAB809F21"
-    "E65F730DDD3FBC9BE9CE7F031D15D571BD3F98BF8C3BEA3730A9067C06B82B7E9FE68908D1"
-    "2888F01890DC65F824D18729EEC85CED7BAA0D76ADF658BBCC6190B9FC0914D991D405F547"
-    "9997883314238CD242F911E65A4321E750EE4125EE01C83AD6B80128578613D3F4E02F8163"
-    "B51149CFD4925495A6A59B860220430A01775491E704F698D226701F2BA285350BA6CF3023"
-    "ADC880C24DF57B399E7ADD2538C211B9BF90F20B7C75A4CC3E889DD1F7B0D5CA84899956F7"
-    "0DAF69DF63DFE2E56D30C48B5F8E6440270058961300ACCA8AE1B538F789F88CC2617B40FA"
-    "511EB96041BDFEAAA0FE8690E6902152AA6529335F1B99C632BC0CF51128F86F3D0733651C"
-    "F3B17EACEB461A6E4075E1A416350237ACBE674908896A7484E9C4C537C89978EAE7E7CEFC"
-    "1148413E15BAE8E4ACD6B4268DD98F3F055A95035E916E00B789AF024ADED4B600485E7362"
-    "83E11FFC86987FF15805407B011538B6D52AF8173687F39C8A578938A6465E4D08671219D7"
-    "F1CF26F324FBA0B73F3D44497DF29425EF2E20B1892FC7B451E93B312DD07E0513A7D54C07"
-    "41673D0B01E08885596E9A65A50D94AADA7ACA6F02B2C5D8693E3A68AF8BC0167DC3DA8EEF"
-    "AE4BB0CDA1ABAFB1C463D43E39CB5C4E00B02CE3701EAEF083C00EA6DB6CF7BD7489C1C671"
-    "2CE9B750FAA250A55000506C719E65A111448E533262260D1421D2167E84E423C0817A6F9D"
-    "98DC292C8DFB82CBCFA43893B28402A7F1BC5CA55B8C2EFBC1A3805777C599339012A6B760"
-    "2C2957BB35837BDAC58920278FA57CFE476EFFEC27385EA092EA7232615EBFE3ABBD77EA98"
-    "8A62A841D25ECE67687AE9A0E522B574CEB531A31EFDBEE66358EDE5EA49C6B8D3DC814F67"
-    "DA63A4D03D62E1B1E371A5724AC7414025C45FA403B2DAB7D4A12992A5EA65D5D95C2AC914"
-    "D9EA69116A8E2A4225A5F912BE793EBDE84169A7260756D77AF9D0B62C3FD100B0CA0290F0"
-    "1334766747DE16568A822E49087A707B032180B7F256C6F995E50400BD900ABDF2D5D7C164"
-    "D9E7BFB63ECEE79D605CAF15E56767B9395577649F4EB1A713C7FCB02961387E0CF9496567"
-    "F6569F06307D634450BB7CAF52BCB29668EF979005D1BC5227A7635B11C3647ABEA8D3F503"
-    "ABF79339207A606DF0A839A1BAA674CCE3E992ACD99E42C41852F7F1FB4E511BDCDE718362"
-    "326356F9A8147FAB833D482DDBE10DA4B5BB8111EF652ECAFB0F080E4D6088267C20BA296B"
-    "9F4C9E8BE41A144102FC0990595834DF25C028E98C6B47615446CC59C6EC7446782F8B531F"
-    "9D2BBEB8AA86EBD827ACD2CF47C6F3FBCD9780D6CB875F803CC7E763F4C9F37AA1AD1D2932"
-    "7B358D960F33025F9AC47102EA13C05A1DEC73A7666AEBECF781D26B2BE189CCDFC470FFE2"
-    "7202002A4804647228F127E5DEEFA96E1B9FC48537A9F666C71CC37B86C3D91477552A3941"
-    "49BB902280FA49DA6A6F33DBFBDA73D08728C496A88C3371628A5FF392840D8CB5C2131D63"
-    "75E622092E722CF5BD1A6B21E5A9BD1E2C1273C70AFC9C1917672ED8F68B23B4A43CEB1282"
-    "0B6C92E86A028F38FD7C80D41DEDCF118636B4141C1EE0401B79F784C5F02BC8592BC044D7"
-    "1393DD9F41AD760FCE8B6C3E5917DE0BD45E6124C70EAABDB0B32BFC7C4155EE8B5ADF5047"
-    "4CD2893BDE5298DE3032EFDFEE50E764300FBA18888633183DC9E8E4A177DB9B9CE82F376A"
-    "4B76953DE144444EF90BE0AA909EFCE33C4812C123A454C663D9162271A42FBC786F491F7E"
-    "EAFEBF584E004065DFF787EBBDD11A3BDE527C34A8DF04096148C70301352539734D82CC9C"
-    "73452ACB7CF74A58A3115022900622B4967813C990D44240079CF34E088056265C0E6374A9"
-    "BC6CEF1AC9DFC0948691F1BDFFDC474D7F4C0CA4A12CEFE39F785993A2AB1A242702B7A09A"
-    "BAA77F7330CCBED49A77D3C0E2DDEACE4EFE0DE5E038F65182BF92F2A93BA376C8E4DDE473"
-    "301A56FBABADFC70106CEE7116F4C9C34AC1CF93AA7673D572B0FB6BB02E8C2EE009424D9E"
-    "1236EDBDD20CDD3A8C287AA8D6731FD16488D32652F18AA3DEF83F71D025CD41ED559EDFD1"
-    "06D2048CFCFFB1913663427C35563E763AD3593FDA4D20C678FAAEA820D62A4A423147632C"
-    "0C72AFB32CE7E92C554E0040851375550993E332A9083B332F89958042BB9273B52597C2BB"
-    "EAD387C313C93B2D798A3A9269DCD02CF196E8D3189C17036174D36FB393B18BB401222E80"
-    "82D5A12CD937A6317D9F4C93AF0096DBE70C84BF889ECF2686749A1BCC147491BCF469768C"
-    "C043F6EEF0C5D86933A07DCC49835B6EB8FF36789DA099E15C03C6771570B2A75495D318D0"
-    "40BFA4283BD6172A3F53A069C0C6E54ED11C054C3836A6838C3039203C5F9E31F73C2341A0"
-    "90233A9AB3A54C9E01FCDCFE6E89820500B7CF05248C40D138BF9430EA765361CE8B8756DF"
-    "0EBE6602C4436E0A406298E9361916A9FB739FD689C30C6DC29FFB7E02F01010DAA6AD5F49"
-    "CD257CFEEEB596D58548674139010095700A519303E80BEA3451D5BBBF96C43A113894E54F"
-    "4C6B1AD739CE700BFD1143AD1269D20FA8ED9AB804C72F7421EF2EF35F1448302522B58719"
-    "1A2433A73870AE9B96235AC7529296C42CDD4B3C8EFBF8CB313079314BA932E7DD898F44AF"
-    "E22BC3BFA0E2F317A0B19624120356AE7FCC287FCE8F0C4E663ACD8E692289E74B3709DFF4"
-    "453267D45080F0282D2DE66FAF3988B60FB8C7AA5F486D4281D345589F31F391FB2D5805BE"
-    "C3B1CF3019D07A61330579E763B916172479F64D65C2DBA554E0F2749B21ED13A00664F45C"
-    "49F14E7B25F7094FB18079B6E833D0C2699D8E8CFCBAB5F3CE193043FBD58A7BF8BDDF5E5B"
-    "D9F2BE943732DEBFB49C00400A282E6EDD9B437B607F840433314426762C951719FA0BBB55"
-    "1A3D665041DF530E70FABE9AE56E2C3DBA9A1416ED37B23A4ABD53A19CFC5C8F106EA843EB"
-    "463F62FE2CF179667F2BC6E12D2D314D52F49BFE340DB1A50A3B524A0371D04FCCA8F1DCED"
-    "BF1BC5934F170781292740B326AFF7E9170CC65DA8B90931778445C779E3350EC983600F5E"
-    "CBE1877819BEA5A436479E675AE655144503C02459AF7203A82989C2179B4F8830434AD9BB"
-    "2CCD77D2BC8FB01B9C72AB50822D2E7AAC091404183AE79F18D129EC6C8AA18A07B116F654"
-    "2CA005B480B4C313BC6C8883684151AB3CFFD3E88E67F7EDCDC8C5FBCEF7519EA597130050"
-    "81C34FA6D8BCE2EC0C73226FE29885DAFADCC4820A919AD4A1F7982D97A332A121C9641A77"
-    "8F5E1149633E49A9135C6983B0F6A40ED8A7C12AA12DC93C2B75D453297003154D790823E7"
-    "3B198057BB1AE6477661F8E90D61F868144C9A98579F2B061FF59F59042752DD401D389D98"
-    "9FBB23600B6D5C2DBF93F42D8B90F5D35C1F0030867621A6CA28DA6ECCF52EBE283A448DEF"
-    "E7792D7F0C91F4799EDCB479AD7FE67D51EF082CE9E72094F1170096F902C7AE8BA680BDC0"
-    "9CAF7FA47F0FA9EC055852C31CB5931AB6E80B95C02BF44C6428A1283C7A9C3F0674F826E4"
-    "3375C61AD81E6D5DD779938AC73F99C830FA58660811E426FADACB6EAF3FDDF17F4B390100"
-    "952BD3981C79493AB505A998CEB4F27F133ABB207073C94B5B1C76EE4A3766C455947D8030"
-    "E3FB8929D798BC08D5B20B3C0714EF3C0D58AE5E2529AB0826854765A29AE60F5119D844F0"
-    "46CF45B2AD280048C43C76C8426364A4F64FC0C1C610489906A99716C967C8B6304328BA0A"
-    "CA18989EDDECA0C9906704E9E98608305F6816281360F932A0976131011D6182D58FEC28B5"
-    "C9A6A9698DB74232C03B94E4277318E49A93E3263819A73C3EEABDA6E4DD33B4AD3BECF1BE"
-    "68CC1F801621B493752957AEB4365EFB51D6B1C3AEDC4B38F0A4B5F2D9D410478E10EC1400"
-    "91EA6FBE8B5B8CC62B41E1802E4B50950872CC75DEC5C1931F8799A48331A1106309FF420D"
-    "E47FC7E5EDE83ABEAE9C00800A349FAE042316C4B1317E6609B36C8730B7E3EB58D48BFA45"
-    "EA49E65ACE7E0BE645E498091B8812883684375CDA135350114FCA2C73E1A3420C75F11255"
-    "41637C9088E5738AD6E41437AB7EC1FCF379992D76A8ABC9A14B84A8432C2CDDE8B9C11B1D"
-    "1EE7AC51686977B32FA133EFB21BA2ED0D5A85F2282D8E31EAC97ADBB5BDA4D7F7917C68C6"
-    "82A3877253A0C3194A444184FA89442915664442DA1588F1FB885830D2F2546ABE851DBE8E"
-    "CEF85E12F2509E8B3257C0C1F3000DB49C12B14066110233E9F72087251D44B76DBC97E70D"
-    "6C55A4F6F1C7B40D2727803CA9AA49C8FD215D3002F5B923BCEDF502FD197931130B85556C"
-    "8AE0B5961389AADF4839F9FF97CB0900B8AC44FBFB7C717C60E6C58E4B83794E679A0812D7"
-    "DD31C3D40E984699214ABFEA62739D2B5D556C249D344E5CA18B31AB605D2B21DFEAA2593B"
-    "919D0434997B84EDD84E8C3C89A213E36027B024C420FE41C380E539FF56094F2F47617573"
-    "0A4FAA8180EDB9CF63F09A84E9875E59019A4A1F0886CA0971449A8344ACA16F0358543E89"
-    "1481AD8043ED93F1BEF755AFA5E57A33A9942641A42DD2C2C84AD41FCDBB6C675917C37AF3"
-    "C4D55A7026C01A0A33739CA56290F523404686DD653B1D045F7F3B2E0474DA2FA4CD11F080"
-    "E451BCBB6BEFC77C7E2B8870CA897100A6D85CBE3762F661513704328F4FB345260C93E883"
-    "B6FD6ACF97B6C60B182738E38D10D30567AFB7BCA5B17E4D3901C0A2C408C6A92292FE6243"
-    "851EDEF160FD84E41CC478D682EDF83C71DA83D0A64D56947A40229C6CA8DE6AC101531859"
-    "979C481B30A537153CA14E4CA803097552F5BAEF1CA900464614B424CB6CB7C87C13ED9C81"
-    "0FD9FC35B94FD60B2659522ACF7F5DB0CE4C4597A4340D34892BC1D60C9A80ECB74A6D701C"
-    "9C3C361A4397AEED0D99F0BC541402D507BDBF9A334241114016FC15264691E082C22ECBA6"
-    "5A98072F4A440AB5E3CDF482F9A0D33406CD370A961F49E60B9015DE342B644AF71DC7D374"
-    "F017123A3AF55BC34C73AF1D5DAC5D4AEBEF052E58A30020C1CA9E04B9645A6C372F92EA41"
-    "347BE55B30017DECA194FE6BED8CB40302D1DE463915005F2E2700E0C25270962282A60734"
-    "3F25AD553A24EF2733AC4C730B0C2155B316C1A2DD17EE15439C55ADAE884D825A2AE46A62"
-    "E2F8DA8558FD0A6914AFCFEF979C4A49EADC4D987F8EBF88204939397EA831738C0C32160E"
-    "90CAD529069AC9670B67CBC56BDF3577C42F90CBF9FBE9D96672288D40F72D70EA4A85F1A5"
-    "CB97D6AF2D90466030CB4C3900FB063403EABF40BF8F0D3A254D4A6046CE7AB8F35E8F0AFB"
-    "DA4F1A9660867B7CB76776BB1DF737B82948B6406A690F64353C5ADA8706C02A5D319D8869"
-    "A560B2DF0B4CDC3E6CA49DC9903167A0C1E74CE70567A2A3FA76366E63F5DA1241570A43B3"
-    "A042C336FE5BA7CA75D57853E17968D300B2071DA07981A1EEF517F5EA3A4B2F2700E0228E"
-    "47CC80FAA1A3EF495AB5C6BBF3F79206C62F3E1E54E79F452AC04161BD572E1206D13CEE7A"
-    "63FCD6E563CAB816740BD06C732F52F58B6935EFFFAA8828A51E4F49A76112CF1026D7F9AB"
-    "A1B3D83A3B4314E04A86DEE3C245EAE5A98D52E6929D7EE6292909AE4531AE731B8C226A4D"
-    "A2E09421971FB741AAE63DFA5827CC8259F58C7AA055962447EA2392296DF7D4248C776E76"
-    "F54A30059F98AC57962AB0276F6F92545B10A11243619DC278FF8F7C01E9A34120A9340414"
-    "D228E7A5A4ED8CE088029CE978C8CE7B2545D74EE468D5DDB6C146E396EF9F4F7DCB0F6022"
-    "A48BC7FECDB5A0200600C2F5FD6DE2BB7AC36058FA0B44451E6D099CC907187D88362703F6"
-    "56D650F6C9A1FD6FB1AF77D1EB2B7E46017CB19C00408AD795B075AA9270044BA92A25CEAC"
-    "8FBDBDCD5235077EE1EDE0DA24B5F4FA4ADAE9126A674C77AA11E91D5DB08642A8B52227F8"
-    "9925B524AE56AA119D8985FB046732B4464C5962AFEF527D4C6AEDBAD98F6CE5964CA4FA03"
-    "F5AB99DAF3639A476D1F23A630360EE76BE9819D9FE7DF2D193E42E278FD63848566D9A5BE"
-    "E4AD5ED2B3A23B9B3EFBF08FE8B90DDA6ED13783B8FC10946E9236F9848A7DDE1AE891054E"
-    "F57341DFC924A532F57ECC4DE25E025F1D30A603A2F77DD245E77CA3CEA8D315C3F3C170AA"
-    "BFECFD3DF56E8D4D7B965B68B6F9D3C6F7A84B86AC7A7A7D66A308025A338A2A90BE938324"
-    "0F958F343BA926DDA914CBE55B43F3F346CA5B1AEBD794533FB2282427D321ECCF257399D8"
-    "DC2094F9BEE1B9A98EFEDEFA2B664B084522E250D8C48B9B45EB338FA98D405B6E5161AAA1"
-    "A037B201A0832E284B9D929E7548445DA674B9C296FD1DA0E2056D0D9A13E098302369AD99"
-    "079CEAE679A8AFBCC2E98E6E8031641FE5FE05158269B0F5FA98223888B1F62556EB226BD6"
-    "D2D256AB2BB0E79558A9DEF5D55B8AD6CAFC2235F170021DA69A3A93CECEA4049D76FB5E10"
-    "0697BE8715E038A46EA915793472421B5E8D605352B1CEE3E57DB7A07E3B315B1D0947D550"
-    "94438E89AE624E739233804B3F0CD74B78B0BE78164E938BD999B626CDB9B7E356EBCF3728"
-    "3A9C013DE8E241D2B27D99089DE58D955303C025D26B94894477CE69EF4CE789D486A9824B"
-    "4C709F45AE2A5229CC582A66EF6AAA3589DB969A0C1A07A5812D8CA2B5AF8429EB3FB187FE"
-    "0A4EB8BC61C833CFBF0C67A849B04D709070A6443E105F33105BED6F0008753539E5B53FFE"
-    "84F9449FED6AF6545767FF106A65D08380D30F55B1AA66672998AD07078F46F483D89977AF"
-    "7BDFF6C174A83335581736AAA5C051F12A8233ECF3205A8E6CC1EB2AE35B530EE6080D0885"
-    "0486AAFB3989138743C6185BEDC1042A34965AE7DAFB1CDF0EFFFC6DA3352C930F062200B6"
-    "24FC23AC301539BC1FB253872A1F7E09053F99043096927D1CF5AE0920D5ED5A7DE59C1F5B"
-    "7B6EF4C903691926984466981448840A450B41BE73C65F6539F1CE17CB09005A496B1C52D4"
-    "1EDE4A49027ADCF08A09E64737F22D62463639D0AF8141BF8FBEECA523939EAA289379DA5C"
-    "17791BF76EA2B1F97BFE0A4A072F492B16AFB15940E68C2645E2E4597AEAB7021A0315BE8A"
-    "39256ABA97BFB4A420D659F7A4424F46D26E499B96810799CC6E522937C7B5763FC0E48B47"
-    "57FD8A1B01ADCD2D3FFD686347CBD235A9963101E54F6053C54A1EA72D2943C208E150213E"
-    "14E42C181DC88929067B77D9707ACF2E401E664BDF29464976772EE2509A0FB0477D999078"
-    "1629C18F742768BF626DD3D1E0C6D837804E893420FF13A7B390F371BB75946801722739F6"
-    "A812890680749618B462AC785FB7E88A00BCCEF296C6FA35E504005C6E6ACBE1794BCCC8E9"
-    "C89536A0AEAD25B040DFB3445CBA0016C7161BB30BB4E5EC27B4408943A9C82B0FFE1CF2C5"
-    "39E9FD4E8362BA94F0BA11859004D8B724FB0B0034FA3488664AAC6CB26049AB7A5553464C"
-    "3A9D2B938891CF82F3EF4E54D449AA9D049DA036F93B7E04F36445342169C74E549E45F5D0"
-    "B92E33C1CC7315A0D5EFA476A08C7EE933C18E7B99DCC7296EBF9870D63552FED290DA0A11"
-    "7F2414925A19B55639012F0699681B79294C7C1114307154C880D97B0AF631810C99B3E0F1"
-    "F77D87E8066C1FAFF456660C5E33A2A687E3429B241136026056BEF371D364C4C6F4613C01"
-    "32422A7FD2427066C11181E1A97DE4FC08D5315A3FD739B7B6C4C0213099C8565B9CDAD75A"
-    "BAEFC659B49C00404AB1401CD770108DFAAFB8008F37BA28DC98131F44E1E81031BBA35EB6"
-    "CF2AEFA003CCD25F31E4543730818B05F33711599A144F7F74D7E751B7C42D97F812C2C343"
-    "5EC724A8F40A220BC90C9972F27A565C9F4B77239434D66F713B88A924BA297B73EB8FFCA9"
-    "0C88D5DA7D82A67C0A554F144EE39CFE1AB8904E9407B34E4691FDA810C9DBD4EE2317404E"
-    "2B0104D3FA791FF47E01D471D220D7F1E51A4E2BDEFC1A6AE3EDB417D172B7A1F3DC58D3A2"
-    "B0E4DCD97F58FA0978C3CB514192E2F7C031F8068DD96D8A1D7E7793473FC1D9029919A5E0"
-    "7CA64625C254949D9623233BFF954941C10CD3861C6BCE3ABF5BE038CF8269FBBC523A8179"
-    "DE104E78FB67E31CDDAFBC6C343D6799CA0900B84C829B934A39BF62D9432506A92A19B55B"
-    "991512C9C3599AC4D4A0FF793BD7A482843D0FF656D87167456F5741D3403086A9F7449034"
-    "441FD3C2327549385ABDC86901473EC47D130B65A971CC33085C8048B3ED5FD4C051DA07B4"
-    "8739E57648B580EEA6C734DFD6937C92B0410C17F94C833B28EACC286BE910374FD32E4890"
-    "B502558F4E24D043F509371F82E5E5F374EB61FE5A55F2EE4E309722BE2EE0118E0664E211"
-    "D505F6D9A766E1FC5ADFAB3A9C9D05354416C978E074B7D5A1AC7D238C5A3543BA91014C3C"
-    "F75A6662BCFDBCC909E8D748F315C196F6FCE2D9B82C4C921161A6F45D3AC3729F409A11CA"
-    "CC6833BDA957F796B8CA69B790AB6A03F59C02C878974DF4E09596958AE42C55CE28002E53"
-    "D6881054AE3F45FB6615A00DE9B588542503224E11AB2A981189785884380FF2CCC07B5FD7"
-    "5FF52759602B9AE5FDB96990AD561A410F9F3348C0A981F06A86EE8FE7B90D9B40574A9722"
-    "650E10C2202502CF39478D7582BD642284C0168C05A22B184D8EB3FABA506B3398001F08D1"
-    "5E549F3C432DD177F556E75584148C011BD663D2E430261DEF3AAB22727E1518A757BD8C8A"
-    "187FF11667F0437B7D626F5EE61CD92F095016E012736D04848DFC0368BCB4DE9EEB338048"
-    "30234D0C9469915BBFEB2E8562A1F0B84792230E55A479067C1534CE661B6F9FD2B3DFC959"
-    "B1C6EC54A7F3E88610C07E0504DAC811F00C8E3FCBAD9C1A002A11F1734F1AD3A57B6FDFE3"
-    "4CB10A9A5E23A9BD984C8934B368DE048FE3A323456AA545255B346314F1ECAEAFE7D8F719"
-    "348067047F21EFDD990B216E4A8349DEA3ECBF2B1041B668E77A54424B693239A94AD94E04"
-    "3A9915886D3209BC5F53388D0B6A7295CD8121D8A9921DFF8852EF3B811A5AA3B4B52F72EC"
-    "47EE0BCE5D5004BC271F92166BEE8479B592EBC1A600280700766E4D5D0820F4EA74C9C9DE"
-    "CF3E3126EDD4FAF5200EE258C888480C9C6EBA0B01E506099BD24F77DF03209D2E1DE7E720"
-    "A739C67C0077936C5020391936220BBC4C1D04F2AAAE9D3483F3790FAA3746F8E0316EC7D1"
-    "A1C9C377D0AA29D0827F4C82EFE797E70F97FDB248FAF5FACA657FB40F1F3ED87E629E6539"
-    "010095D8F71FA72F475939F318D14C274111294BC7DF8D7D80072E384FD5C15201D3662FED"
-    "C174935A9830C1AA2B89C2425D490F81D91585EE545F32C4103157A9B0FE2A13059C0865EE"
-    "CABE895BEF18D810FB164F6C78F6A65CA5B7F75926DAC9587470ED268DAE0B03AAB2077749"
-    "BA39FEE1262448AD1398AC65E7C03D0686E86C49DF30EE57E1A889634A48FDCFE30BFD8A9F"
-    "48C73B9B18256D87E1BD5E4C2D254C79F60000200049444154F0C8840D6F7BA331BE95528C"
-    "B65F99986AFF50FB144629CCBB4C109968089C106192E4685735134B8F919020B500051439"
-    "690F9DBFB2D7BB0E20C6ADBED3965AA1F871DDA4681CC8E3B2B677F6839EA575AB681EF611"
-    "201349ED779AFCAD5D8EB5F9C337BECD80E63596077F1CF37787EEBDF172020029FED0BF81"
-    "335112B723F4E7284A0C628404394952B9F544DABBB3171B7B6C0F920D53A4CF6496779CD2"
-    "A4ABC810C674A9D3352382CCD7BBE225F489A508A997E850AAB3D99CC2767B0B9A5FAAB708"
-    "38453858697039091001AB54EF1613F152D1B265D952B064CD037082303BF1A3C87EF37292"
-    "B9416EBF5B951EA161CA28FD96029808FCBE63FD2A81ABF7D7274059A0B1AEFC6D5A084ECE"
-    "2483D73E29B8B0C1E8B5EDE237032824CB2A27CA7B6DF0F189043506A89CE072CA70C8734C"
-    "8C90EA522D12B9E49BF392D7335B0321D57E820BEF8E83CC9535D570FDDC9F2F403CF6E0CD"
-    "A9B0F910713F427D0C786F76EC866499AD5172668C1112BB3D6C6F461C7E781C247D5A8CB3"
-    "D809005A0105218943C3FACC384E8A29AA4D84D98AFE350613EBA41EF73EE7DBE5113FA412"
-    "DC174FD9EA985171E421116B78C8DF3F17085D34B1EF2A2E110A0E8133C5C7E20C140A5834"
-    "5843EAAA6F9104DE200505C5B7A7C296E7BB24298E50885A2A8BA84C8CD58DA4A68EC92990"
-    "31E507805476984FAF6066A394BFD8071D8481471CB7221AD989993FE6FCECD92F0E77ACC4"
-    "010C4AD8EDCF0B6065CBF817CF5C99CD0D4FD4654393BBE1845BC298A964DF67931232DC8D"
-    "BDBDE3F76256C14041DB61B381995823B0D3443B94BDDDAAE27A3F01435510465BA9D8A9D3"
-    "86C8FCFFD817333345BF01400A38B4ABB3A9851A4FBA8ADE40D996A7F6C12AE483C1032F48"
-    "1D3FA7F11936739E3123D03C50FD51ED3E40F2D8639370F17ACBA9F8FF723901C0AAB46B4A"
-    "A1AA66DBFB7C862A22C0F16E112B3722B779605120FFCACB0DD523AA001EDEA6DA092335A0"
-    "1B0104A00249EAC2A0C4F1811DAAD8DBBC3B934D99014BA34AE27161A9C1D89278D58D6A14"
-    "F14C732659CD60F928260F7506E6EE184BE6094887C2CD143E589BC75CBF54CCEFAC0016E9"
-    "1AAD050087ACA2D11AD26D7E430B51572337A1BCBA7DEBD84EEB0B46E6040464AD5BEBB91E"
-    "B384CF8049EF0E4850400813261FF12B216E1EB4EE8C9B18F4BACBCC01BC59AD95EBAF6D30"
-    "8A0434A913AF08A3A3B66E947723C1C8B6A53F01690BC61C1DBC93247502C4958993A4728D"
-    "042226AE155046413A6F990CA17D1FD40FCC441B7B20AC76ABA5A5FB151CF90404DC35F0F6"
-    "AACB64C63C0B971300FC42F12EADB0A86ADE2E096A7545660143BC72F0A393C8D52B102F9F"
-    "E573E0B583842E3902983112CB38C987B66E8704FF4964AB7A9BBA75A683961D039DDBD4BB"
-    "7DBCED4D4A3FE871B2068EE75FDBD671F14B5E139B7C0A8CE168750758A8B1C2596FE38805"
-    "856D8DB17A499733999953001FCD6C240E237C6B9F081531E3ECBB43A4193E86E38FD9E430"
-    "25CFA9503C021E995B41F4E746482BB54E5E5A86E034863C3607738652A58D81187049CC09"
-    "0A73DD78EC59FB7E275110BC4C21DD1F1175EDD9666727E083FF8E14C0350F706634B91D90"
-    "40C63833E16E3E6D7833B1F1F7A5A5116E8BDF446146E6B1E9984A1E04F653A2CA72FC63CC"
-    "6F29F4EB0C73FB7239E7A7159166B2B89E25F9C0826263929ED269D28C1884258888B46A3B"
-    "CFD68F21AA7B1F947675A18BF4832A2A0F78616BD393FF5525D8074035AE83602561224783"
-    "F263683CAB40CCB828C8936E517296C66AEB82A09296A14A07E8D146D8A62A4BCC11053486"
-    "BEDE08F9526FF66A9BF113C77CD7772488D7D431778A6A37080019C1850227CDF9B2800FCD"
-    "8386491A813F230ED3579BE77244B090D4EB666B86575804A19753D002CF1526AE3445EE00"
-    "451698E4045F32E268DB7732D72DC07BCD0165E293FD000892DF3A317F38A3D25B4C2CE412"
-    "246F4053F406358F9D6E54A97B497CF821251199D0B59A13C5A7C4E476CC7B4D9DE56D9653"
-    "03D08A3060A2CBC1AA6D967E423DD7F5B7E3DF92C28A7FDD3F85C26F3881CAD437F69CA717"
-    "1615AA80170B74A343E65292751261E27A3E515717827D48511BBAE6D50310E32609A6D45D"
-    "D399BD7496299B1456CC0E4CA5CBE6050BE4779DA8ECB395B6215858A7D9CA04514DCA9FA4"
-    "784896FC1D204AD077705C443F688E4A03C13FE53CD038DB15BC7892A542060570A69BB42A"
-    "112255CA165E3C0BED018325A77AE63650D500B3DD6CD1C05A6982F2110A3575016FEB022D"
-    "01A215C4E5677CCE78974A20D430363BFC79E64FB82617A2E444796A91AD90A31168532D3A"
-    "00F395DA2057B769034EA005DE59C7ABB89A3816FAA6D75AF62F6D86B39C00804B125894FB"
-    "C8B9A203C6019334F17277C038925F03BDD9D61829ED33B14DFADDA30288044C9A046F843A"
-    "59E55A5D2952B111E5F156AF64EE33CAD71F45C0EA4A64A7FCF242B4E8AAD4B118DDE69BD2"
-    "1233045CD90C1381958D1F904109632FCA140540302AF3984D0077181B44F5C572B4C725C5"
-    "AE78BCD76C6AFE16EA1A2E23C228FB88678F81E3D7BDC600D025FD6FF75674815E6A149036"
-    "9ECF7D6BB805A9D62E9952BEB5C86459EDD65C920CEDE46C28BE3964EAE84EF696FBCA0A34"
-    "EAEF8EEAC6CBFC39EDF8656BAF7D3BE63D6DEED4DF7017107F0F48600E8DCEE9D87316F04F"
-    "608D5A452919997A40B3F8BD284DC0765783F3DACA3607769D85CA0900A8B87BA3E3DE8E2B"
-    "4B822C953B08A8511820E9E4906DCD4BAAFC254C8030BCE6894D5EC84284219EE10B765473"
-    "104866A159EB9768423D4D894E8CA43C3C988C8488522931C9D59E8C9C1542C5EF6675257D"
-    "7AD5110904E8D6391F9D2BC9BAF8B92ABD3B3E8234DEFF20264BF86AC9E78355EDB0696726"
-    "C0A600A8B69CEBEB826F42C7044A244D17E2A467A66EF54DB1303BD5FEE9EF133614C9BBB4"
-    "5131BFE330C520EC327FD2E44B004198E082758BF9326F7B6E4F319ECE60862092D6801688"
-    "9E3DEAD9289A448161F6C7698DF86230D42DA1AADB98B07436DC4C4049F1F276FC3A23E6FB"
-    "0CCA1C5234A0268357961A30F58F61404F4E9097CBC5F691A4EAF597EB5C7C5803F4B39C00"
-    "80CBC3B6EDFBAE8123D0CC85D80B8D4138912CA13F22542B012E0FDF3BFB32E850D7776CFF"
-    "67463A498CA845184B79B953B709A474C2397FA3AAF83D1A91632FE7F47F10700036CCC231"
-    "A4769210E55ADFE6A4D6C3A10C9C941DB76CFA3C0007E19025732EA62293775FFC2DC24BEF"
-    "2C41864AE562AF2F67C580445F626E3ECFC6DD21FE86DDAD33D3052F30CD18A3575863CD73"
-    "50645D49B788CAC8FB1A742769A4049825AD01E9545868EF592A79BFF5E3218E8DC455B185"
-    "21A1C33C9640F578E461A8FEAF99E19C355BB44FF2BE4BCB90D2AA834263D3FC9334600FB1"
-    "D9D75E2BD57F82603E07C72F9B2DCE48F1705CBF0D4AA2991CF9A08AC6AC5C22B03ED7D1ED"
-    "FB1E97CBCB9B00002EF372965E4E0040252262F3CD9A0C722B93A7AD8BE27AC92C8F17E87C"
-    "3261CC8C69FDE13AEA8B0800F105509154A4C9A9CA24173B9321D0EE43A49E3512ECE41645"
-    "B12B998DA738ED243519AAEEEA57FE9BE783B504B7BF93018AC45322CE4A77A1527D081926"
-    "FF05C755B5050258DEBEA35199183F4B93FC3B6A6048987F6DE306BB1A0ADF11C143CC480D"
-    "313734C6979DE1FCFD5DAB900C2401D02263A01BAE6FB65219A37EEFDE6534A71AF717267B"
-    "7578C7F74DDE306309F22CB45A2CC6C1F52A4C1B1F03DD91E4396DFE46376F57EF667E891A"
-    "7F02CE1918E77E8D76598F9B3729DEE95FAF76B3A68C3FC99C00C6697E6B2FB868FC3A95F0"
-    "8A2E42536C424AE122F7CEE649A5C8847135034C07FEF5151F59DBDE82AEE36BCA09007A69"
-    "97F488A73B317C61D47736980AADF3819EDF99BFB152A922CEBE32D8994DA9712735404A2B"
-    "BDFEA2DD4E97AE68BB3E793477EE08EFF043206555AB13A19F3A045FBB92803336DDC9ECAC"
-    "6A7ECC07D5D6FA8DF0425285720225F2A4670F69C9B3CF7C55EAB985E8C3AEDAA6A3588E80"
-    "0676FAD3B9CF7989A5E35EBB43C00026214663494888C69C577F690D5893215BB2A93F9CBF"
-    "5BED9BA9C35A613A73AEFC23829EEE22BF614DEA717614ADD195685776762BB5B9E6BD706C"
-    "3468062814A383F04CC3EDBDBDDC8BDB74583A468726A50D2DDBCEFD5D40A0C0C254334FD9"
-    "4C53722D5AE2A24CA885B550743B0397D759249FC759A672028056E050E76AACBB15BEE884"
-    "FFDBEA486ABC793915091374957AA632792EC103BF187966D3FB82D464C5F0626E30A60FAD"
-    "5D64D22B5EACB9CD8684485A8419E38C3E20ED61926E0D883A88D74E4CA342A81D95AB6D3F"
-    "FBC462257EEC990E8BB7D11C1408909E84A6EB0DE8796A0CBB95BF4275A60023181EAA6629"
-    "F4F8017ED82D8F4060FFB8AB7A9CFD3E76E7B9981DFC7251662DC562814CB08F455FC79608"
-    "88751C1D78545D7C8115F39EB64F0A5FD055D1CCECB2AEE3F11D6B5D1A298AFC681900D36C"
-    "9195DDBBBA1B6051A57B36FBA9CA3DC31CBD3DC76005634D5F9EE3916D640564AEEE34D598"
-    "871E5D34C11F5ADA2DF03DC251698DD241D6FDB87978563FBECE929BD0FBF9388B9D00602E"
-    "A0AB83C12D08C6F1F3FD0440C58BA26D3CD253DF65FE4604AFB4EE094838698A552F852B4A"
-    "BD2B4636F3F97B2039DAF8265527FD161C16986AD2FABDAB81E1CD8C1CE54AD783A44F1648"
-    "737EF8DA5B601BA73038C493CB5C13A3B13E5D2AA74FB6F99AAE9ABB35732D47B49DD4E509"
-    "A88459F1A4E3874C63BC8FEF2BC1CEEDD1234BA0074BD61CB5B0B79587640C8DC2304664BD"
-    "05AE665D4D24C3A1AB9AFB33D6B065D9D629FB651898738DD8796B8480105AAEB94C878798"
-    "A56372AB65875ADFB36107E3EF7707D811D1D72EF9A1BC01ED9CB91E82493CE0400A1FF7FA"
-    "A76DBFFC5E0AD8D099227007538C8BB620CF1DCE2A4B173CC1447B768FD8BF3232E9BFB372"
-    "1B676DB6B3F47202002D13272D8260CAF36647FF287B13EA5066976AD90566987837339AE8"
-    "36BF922CF4AD892E32332BA9ADD9FAA5235E4FFAF4FBDC6BF0F726D64DCF71DA5875BCEA19"
-    "DB528AF3616F150740D18AA8F48E70C9FC81D32537AEABD5349B2F454E54DF50876A3CC801"
-    "F3A6C1605011409333BFBAD38E4A75D6244BEE1FDF0520E39AAE989E3605C9EF3D4D6F13D0"
-    "274039D755A69FFC5D40A1DBBCB3B10FEB7DCB2B199CC004ED6BF99DCC03AC05C8B9B97DBF"
-    "DFCEA2A6BC0E59E7F296A7505BD16E10C3D0CBB310FE4B95A39F03F07AFD30D0443DB1D198"
-    "46EE00AB17DB50B0B778B8D9A14C079DA609160D0A80F0F9CD36B6080E5278CD657BE0F93C"
-    "4B2F2700581625587CE8400C08610FE99C7F62801096CC8F13AB700319DA34FE9E2D00425C"
-    "D551AB9799E012FB1AF5ADF2C4E71FC7879DD5A1CB4E933984FC13C44E9B1A0B96CA06922A"
-    "C958A4DBFC0C90502459A434E03438103627BE3289CCCC50D4DDA6CBC80C5B1C200942ADB4"
-    "A70254F6047AC96D825230AF1A366A94DB778DFDCF1AAA29F8E25B600E26E0C3F3C06DFBED"
-    "C2F4FA580E83345D613C588043E6C1B5B615BED9F312602D7395AACF1C3EDBD6495B857FCB"
-    "BCC3E918E6BCF475AF3D4A6F33BECB39DAB6DA2031D0BA6F0B475FE7DA0914D419D5BE6CE9"
-    "34C9B6FA0AEBF4A633C87192344F40073774F26AC0FF414D6688228831C6C7C7C73D9D205F"
-    "7B79F778B0B86DE5B77196130070B94955DB22364C65FD5B114FFAFA0E5448885902821680"
-    "9E7FAB043A3535AA48E28B386B2366A4F212D7C5B67396A01684B08F2F50C75C20E368BFC1"
-    "4D4BB2E1E424D94B76EE0BCC8158432B1880E6C96A8AE5EF1804139699E6C038AB4764785D"
-    "9BCF20C9DD44027752B68B6BC56086A5C560B0B298E414D887C2A2245D5E1E749B587EADC7"
-    "4E1D56F38231732E89562FDEB93DB6A1ED451755D28DEAC1346F26DB64B0FAB148081A9415"
-    "991C12D34491F3726B6B679F9183D5EE9C4F8FC27113AC21094E4EC2B6E823317ED3BDE834"
-    "D755794B93B1D7FD00047C57C70435C952DC7DD4283951431BF8930906ABF8950E748A75FB"
-    "6EDBECF3A74FF1F2F2DC3496AFB33C3E3EDAFBA70F76B99CF702AECA0900A85CADB6934355"
-    "93F87B1890FCBC384F759889DB80D093D8D254E12CF11B11A80856770F522E525D68751DCC"
-    "DCA3F47D3CDC955F28F5CEEDEADA6183667BA684EE651812B2FC39AB61C53B9EA421B92BDE"
-    "558A2FE99B52A7F210E8729B15F3C25C212282B32DB27240FCCB595340D2EF6A7659D8CCF4"
-    "A40CCC70777E4AF42EAEFE3EAE0A2EF5386925BABD3FC7346B8A345E3FD5DC3B338B690320"
-    "86BDEFD305A6A259F262C6A333B44F9A16A2CD12B403ABFDA70181865527D0612A391B4DD7"
-    "98079F3ECDFB9EC17530C367F65B4DA4B4EDF4C4581F1E34F9271CE3DBB4C6721654C0C77D"
-    "CB7E5502ADAACC10B91300FFA55F08B787C7CDFEE587EFEDCFDF7F5FD2F16B2E5700E00F9B"
-    "3D3F3FBFFAB17E4D39010095388C87CD6B9B0FF48A40E6CF2DAD68313F307995C40D0F92E3"
-    "21FB58B3E459170B4D8478F6EE57BABCA4D27745917BCCBFECF245CAC01D9D0DE325D1ABCA"
-    "BE9130023E86FCEE81B9D65C099C900075C8853215CAA74C86A78ABD0F66E685B0BE4AA642"
-    "6B098CA0E02C4A7A6F2A04CB70814C574B3F97344E19F2E8963D1FF6FDEE1AD0897BA9AA03"
-    "4F4DC392920C72ACE0F025C0ACC7C2578AD509778ADC19C00720A7698C37E62ACBC975DAB7"
-    "A47589B6A859CD008E3B9F050780CBB59750DEB6B6B537E95CA7D77EF6BF22C95720BF815B"
-    "1BE3CD10530B92FEF90CE45E254CC6408255FC001B946F83427489FFAB8186684D1EAFAB46"
-    "E5CAF83F3E7DB08787D79F26F70A003E3C7DB06D5B48676739010097D8177E4F598AA14F1C"
-    "7EFCDDC41567D2373E575EFA688472D629B0ACC176D27CC6CB5E1B75CE998ACA3896835A68"
-    "31BE507ABE03957791D046EC9BED596B4C2267836F9D33360D640BAEE9E3EEF92F54FEF57C"
-    "B411C498BEE13AD27E1ED4BF45785DF169BF6593D36E843EC8661E7AD2C77DFF211EFEB834"
-    "271B4993865C065420626297F26FCD5EA9B5C7C85B9F592B52FB8881C76064C1BC73392606"
-    "57CD664EE1794D89A0008473F4D78A116C0B95FECB10C08E92C2C8790FA07883A4C5278BC1"
-    "F2B33AC7BE1F317C3D47403F3F302B3492C1CCDAA12541100383723E43860816CF703FABBB"
-    "2E808FF86C70F84182C5B0A7F74FFBF6F0281A8DD75A6E00E0C3DB003B5F534E0040258C8C"
-    "EBBDF039224958638BC10C85E919187414C142181BCADCB6480E64A8EEF654D8F58DECFCE8"
-    "F3CCF0FA98F247FC214CDDFB2F4A7CF99640382B352D023BC391246A64F754A8E393EADF28"
-    "17424944633D24A360311DB63333396D896F1A2311ED82BC953D4C71B0DB16096484028832"
-    "D9501E62841A62FE19A2A4535EE1821A82262E9AB40AA2A2E0B04A2C7F707DBCFCFA01FDB4"
-    "28E022AF784CC0099EEAA9AFE67DEB752672DF6618A2C956E470BDD917E3A660D9DA7E5E2D"
-    "F1C8DA99B700DA48915CFD4DE9583C0D72A75FFD2CB60AB54BFF7F91C6B3A16D5B1D610542"
-    "9821A117B5769E70652BC0CCC3CB55064ED42BB9B3F68A6420D274684B76FBF8F1E3FECDA6"
-    "5112AFB5BC7BF7EE36B21300ACCB0900A8C4BEC715152B490FA13085BE8B7B36A6414C12EE"
-    "62D1C59EC969A84BE1B343571021542918F1D4A4226E23587ABA55B21D7A983DF3CD45252C"
-    "442B714F5126F668D6010990B8F14C557FC2064F632CEE04666170B027BB7B1BD358231E3C"
-    "A45F66DE1813A6030C4843C894F7A2DECE0A9193209291B085862E8F09A9B7313F7A9FC716"
-    "DABC9A813A53BEF3CB972340F0EE31EB3B31B9E9B1B93166655DBD0D48733C535F78D72568"
-    "B444315B33B54F90494A36D1E0C59CAE39F41C9984FE610E3C93E5B0BA981309259022E0E0"
-    "CE20B886B4D6226444E030176E043AFB7971854A635FA43F40F49A7539D80F88D1C7D0DEBC"
-    "BC5C2CEC32BDF71ACB955E3CBE7B77DE0570A79C00808A6FBE73D855112FE24075DF770FD5"
-    "6B75E10EF180334ECC2CE3DEFB690F2C07A7641E4555BD9E2B6528535C22A62CB9F6469B22"
-    "54EAEEFD128294C4CAF5B9626E1CBDC4147864D1CB0C6DC59C792E25528180463910A24700"
-    "4AF0DA2A55B5E4BFEFE3BFC3F918044C13367BBEEB8FAC79C175ACBC1AB244EE62FB2FED46"
-    "CD6926B0616DD160521C19D295190C12C504D0C6D4FD5D0CF7E01FE5481864633FA31BAC89"
-    "415FA5A23683B3DA1F21A24737B70242DCD7DCFB36ED6106DB48492DF73C8C5A0AC03849D4"
-    "3DB2B5F07C0BC8E3BCFC13DFA527477A3F373D33FC4239C08E350D0AFF33AAB2004513FFD9"
-    "8D0166B2C566CC54C31D918C317FBEBC5CAE5EF177939CBDA2727570FDE6FAEF7E4601ACCA"
-    "0900A83C3C3C5E385C04C703041831BF2909B73CE5EDB0AA3ABC7943572B8B43DC6D8B1122"
-    "1D4D0962D2C99054D7C2FA84009B30516E910950EF97122B482820A82ECFA10D25E04E92B2"
-    "8B06826E9BA38B7098C96BEBDC338448661B1AFBAED713CFA387AAB99B288A294B342583AB"
-    "BE8CFAB0D77DEECD618FA773A757775D93A31AA754D0DC479D576B8E7C3D99919A83347A40"
-    "F76580D1F461B5ED0A7C1695F8AAF6D24A4FE223F67083264822208CF67B8B049131B1835F"
-    "DE04D8F6757005B7AF864BDF82F771DBB7B9D8308773D86FC02390CEDB966383FA02EB5740"
-    "C6CAF190536D53F365AA48E65D20A36909742081756EA08BF7C9E3F6F0F2F0064200AFE571"
-    "A8FEDF82BFC3D794130050B9DD06386C63490E913F6292D1D7DF2FA40356D57ADD22C8CF71"
-    "1F9220C02BBD78116911389CCE8A2892A3D534BA2E95775BF12C716488510F433291AB5A5B"
-    "4332F54ED01A20B264DBA52919B5F21DEB4D8BA1043FA520B4318BC2EA580616692092C4C0"
-    "664F7E464DFA2FBCF4C79AEEEA6E98AC9B6FA0C37C44992FA86B90EC59D2AFED33C9EF531F"
-    "D994008687366FFF7A14C038F6D2DE65D0F13C9C15BDF747FA11B206E201235CC8E749DCE3"
-    "BED7ADC37BBD404DB913901F89D1FA2EDC6A867F29F631696032174E6E1DEBEF91FF4E826B"
-    "EC19876F010DEFB677373A1B79B1D0D4393077EBED374121353921F349F3DCFE12B0203E48"
-    "7EB389FFDFFFD7FFB3FFE10F7FB0F7EFDF4FD3FEDACAD509F0DB6FBFB51F7FFCE9D58FF56B"
-    "CA0900A8ECFB7EB96E188DB5CFFCDF791CC7F70E4D80782A672189339D7B4AB2B005C53D6A"
-    "9D4413967EC0F8B90256836F4B27ADAA9D790367129BFD18470B60CE22FBCBBDE8A06BEC03"
-    "203E1195EF9CA8BD33E3B746C0D5C1AD3B31F29CA69A3CD7E07034242DC06058C2B88079EA"
-    "4FF422EEAC8D722AB629C798809E7D4E73CD2B4FC610B56F21A185F92CC046500C39CC2404"
-    "020ACDD09EDD5B1C62A9F0836649FD030EEB04C2D18E79DE173B2BB315BA008599B137A06B"
-    "AA65E94F1EFB9EB4108EF929270B9F73F8F3B99045367520151FCF955F0069AD8E2BC2DB2F"
-    "191598CDC478CED176528B0A83AC73B1E99E606D3EF7C33527009B4C30DF346FEC5A34E629"
-    "85893C9BFB7EB16F7EFDF186EC1FDF481E806F7FFF3FD8E3BB93D5ADCA392B542EFBE5A601"
-    "487B519180F2469E2F95523C4E0567783CC017D54C4F8F3287036647A0526DED47A3480B12"
-    "3DA90438474FEF8A2F9E1F0DA564AFAA4C530662203C92ED8FC31F9B96C28B78F5E042EE54"
-    "335917AF21A2C8FE1A9259AE735F9BEA2BFB31F74BB228CE4CCACAED407B1BDC08D5BD2E2E"
-    "1EFA47A53BCDB96186C7200F1EE31281504C41986B933A57BA7B363730406DFB2D31054466"
-    "9E0B8E559749108D0E182EC0A5798250004327C6CFF92F625AC3EE1763755E3767F0873D57"
-    "F393A08DD5C33C26BA0930997566CECBDFA09D72310F8ADD221C8E838E15CABA8DFF3B1DEE"
-    "EC664F3214C8BD411BC03992A1458FE477CF2F17FB37FFEADF5C1EFEA7872FECC9D7536E51"
-    "009BDF4201CF3297130050F1B017FEBB189C98115B14C0282B769EE94C0124F46126AED3BB"
-    "E42C644500C90B996F055C7AA453C99CB52CC14E1F74E0657ECC7F172A0222470001068623"
-    "7A91A6EA87A923A699087A85F4A02569A774688DD88987BB789EAF6746832238C320F77B7A"
-    "6D089F90EA606610168C3E59536174CF77D1DCEB1A05810C767403ABCECC8B51FC1EE3E335"
-    "EF0361C0B802A44E2E8139518E892DFC400EA8FB4EE0106B23112B4DDBA4FE0BE362219662"
-    "DD71D9D0F8DCB762EE040ED15CE60820269BEF68FE026AD7ACCD898B56EB989A5070451AAF"
-    "52FCF3D5BF4447DA0736F7A32AAA87E1F642DF484EC26D0979ACE3BDCF9F9F2F666F2333DE"
-    "35E2E1E3371F2B43E959B49C0080CAE3BBC7E7AB8A2C0BB3315800FC0EC19CE5F78D886C4A"
-    "214DC6327E811D82C01729E7C0D424CC0C29912A3D07C12E32DE08E1BD029BBD9568ED040C"
-    "780AB662852052601A518490BDC8D9B3DF281EBE6AA28C78C64349F345D1DD41DE5621F939"
-    "046F0E816DF2F15560EEBF00A9A6D513D306809E8412F2C53EA449CAE5828386C904FB4EBD"
-    "88062C2264DE7D20B7BC4658341C34F7876684F23BB0BD98992AA79AAD3A7B18617ADED386"
-    "A06B9E3133141553366D384AF675AE421A0A3F0E95DE9760461718F9B87889AA4AF57E3ABD"
-    "D136BDB57A0BF38F3A4BA8C786FA9FCE4AB65713EBF4654D11E6AFA5C6486878F333EA1484"
-    "9BA12A7194753E67AF9C4E1F86D6202B1E0BFBB06DF6CFFFFCCF3FFDFCD34F6F2613E05FC5"
-    "5F9DA980EF94130050D9C33F975044875E585BC1F3460058DD38FEEAC400CC7FC12899274F"
-    "C8801CF138918EA9EACF3A93A38A4060BB88D0A4DD99AE54AC5FF03B242A89F0EAA4996859"
-    "EA3BEEA810C2E41BDE54C52DE6B97C20069A084223F058CF3E213B5ABFC88743F53AA3AC69"
-    "E0C4394B299E9F9FA548665016267D4D6F7E91F583E669D403064FF72B0C861821AB21EBB3"
-    "842ECEFD187966C224299174203B910B1468D76B2DC6FE13E33381C13A023A7FB829B338B8"
-    "5A2758A8A6E683EAC4B3BCDE143E9A7E08A40170AADC2B548E7D5320A2FBB8B33FEF00C0BE"
-    "831DBFC031A7001F6771337E96EBA7FB3C961EFC500120B53803149DA8185A1A80A010F70F"
-    "D024B4B53D6E97EDDD836D6F0100BC7F672F76B19F3F7F9A7E3BCB0900A4B8C7CB94356FD6"
-    "0BE2EB45BEEEF1EBF1FF4523C8EE2D8E801399E61A86B4C4EFDA8D19E0BADCCEBCBAF8748F"
-    "A31BDE67C2DF1F9D1205A548E345B445D14019F92A509208582C2A572F7D489EC5D4495350"
-    "8C7874F890D006288A20D19078163164F6A3406B4DAB41EBCB65DA17778A17519EDFE1BECF"
-    "EB447D6900B0FA3F98A000AE565F69E929E744D05673E9475B0FF993C309FBCAF5C921261D"
-    "B447AAFDE88FD3B7FA6C7D45E0433509D245BABF60E16B005E5A3309134D77A6F57AFE56C3"
-    "66A57BC32952B06F746B9F9A36629C7D9FB582E3D0A43967EA243D0BFC98C0712B5AE0F58B"
-    "17AD61441AB0F00000200049444154241822AC605C97978BFD8FDFFEFEF2B0BD0D1F80A7A7"
-    "0FB7C93AEF025897130048F14B97DC4A1D57522AE3814E160C683D3F92440666795F05AF7A"
-    "05BA7C078641F0E12EC9561DDE48481F66CB8A2B2DCF7D99CA4A9C77CC571401F7FA813DDE"
-    "8F796C1E954E81891C65406A6EE90BC5A833A34B9DAB800A565AE433166807E26297CB8FF7"
-    "178472C59068708001F4A048CED5D7347960BF98EFF48EE9F8178E9015CCE7D6B40B297223"
-    "EF7CBD58806996F2CBEB5EFC1FA92732A6E35B54738F61439B93CF33F3ECAA8C79EE17353A"
-    "FD82A11E2629DAD737897C61BAC85FB3DF969A1F61DD5EFD93E4400D1A40428739AB120FA5"
-    "73DEF86EA3044FCEB904327DF290E8D3A195C3650F099F80C74E42866C725E28724076B397"
-    "E797971775777AB5E5BA16EF9F9EDEC458BFA69C00808A9BBF543CBD289F17A96FC5A90D45"
-    "F9EAA887245AA3EF57A57F0BD33030BFA8536DE500B6B71E30F9440898F7F8A33E0E0607A5"
-    "2FE53A534A07252EF8E354CFD0180014293977F28D38685E88164198FF6D9C3B7A1060E800"
-    "6C30BE86FE39C001883E32EACDBB4198E8148E88B038BDF23694A948C63CF4314433D16784"
-    "FB10358008685D6E539AFE01999868E2A4606AE2154E7B5A3612F5F30062246E0E272A7217"
-    "68AFB1B4CCB025FB17F28E042654EA3E022CD54BEC075E6AF4D20EC958767FC049335319E7"
-    "CB7C45B1B3841E72D51F9C06C788027B7F6B127BAAD9055F6C381F9D50F054C74DA3B7D10C"
-    "E23F98D14DDA49C0E3421F6843D51CA9635176F9BBEFBE7BB94280B720155F731DFCE637BF"
-    "5982F8B39C0040CAE5F2F2F2F8F884B491C5C408A9579999E6F170A2F3C0C117D5E4E29D7C"
-    "35C9677425C120056C27EEE155C23FC090D9D9ECF84084B4E5CC67AF25ED65263DB161DD04"
-    "BB9EF0C3643249468EBF83BECF770EA646779B9374C7765CF4870008115FF5A66F6D320D00"
-    "66D015205BEABC3EBA5635F6F66849FA2B862C190EA39854859E0EA7BCB469E74CC9BC26DA"
-    "4B80C1B6FDDA0F3D7C510106FB84C089AF46566186CE0B31365A307A910905ECCC9D7A5CA6"
-    "334FBDA554AB6A06C3F2433520AE2DAD4D478F6B296E63D918202AD3AFB87849A645793A52"
-    "BCE63DB8984537C601414C966D67635EAA4F0344C81D0B71F80C64BD95F39FE69B7B12FC91"
-    "7E6B082BE8D223C62C4F4F4FFB353CEE2DA4027E7AFF644F1F9EBE4075DF7639010015777F"
-    "5639C992CDD1F5BE4A153A0C801D909C802A7399883D13112D74DFB5EBA99E2CEF6730E989"
-    "B1516D9D09A624998465C60C7EA7AEF17C6A0EBAE643E602C4B4242CE75BED12340088205C"
-    "522DFC18874D5275E63BAF34BB5560DB15B57A818C31772C99D344749F04443F64FB2AA1E6"
-    "BC566F1D0C128E9F33500B6A4B731950144136589EF0401B999867C5E0E75E8D6AF6A8FAB0"
-    "77288C8FF68BD37E1007D2FBF888806A361A376BC6FA71CE8B41DFE981900D0A13D1B1EED7"
-    "C43B3B995060D602A345B7B06F6B2DE95E8F7CCD65FC2C5027930EF4C537D937EB12B5179D"
-    "B56502E8C827801D7EA9359E9718634F4D80CC570D7CECA9FD7868DB7032DEBF7BFCBCECEA"
-    "2B2C4F4FEFECF1E1F14B72D79B2E2700A0E2E69F417D35F106CB364E2AC119028C221C7CA8"
-    "7E07210A39A8FCC2E45E85920C35D38D325B71681E601E800C262AEEE20E51CC70E5922037"
-    "FB6567DBDFEC4615C9B4BBD304038394F007E7770CAB3A077346A64DA6F9A37E252F2CE9B8"
-    "0CBFFA0E8F3B2255C093389FAD97031F06C661782B46D6A735E841802C78CDB767C979127D"
-    "27ADF81EBA825535F6A9118010A6471D0BEE4F8B7AE87BCF597B21EFB7D123D045A4CEF2E7"
-    "88C698EBB580177EAF303F71FB96EBC052F6A135A9843CDDD4C2EE7704BA70DDAE67FC2A16"
-    "A5E61531FFB5B7E9E6C1024766D44E189F0493EFC82BDF5923969F88B688F62BC10839DC56"
-    "D6CBD97190A7B07ACE676BB4F1FDF7DF7FDEF7B77119D0A74F9F90ADF32C5339010095CF2F"
-    "9F3F3F3DBDB7979728465FA5DDAD2DA981D7679EDE255B5DACABAC93DBDE0F92D0BA9AB740"
-    "40844A53C4E0347F38ECE26CB7570BEA51361799438748C4D1482233F3467A433B530C456D"
-    "A3C7740E3647F9DA8BE98C67250DAC48B749B0292D721F53A03FF7ED8190D7D968511E154B"
-    "E08088087C3D482D8D3555DA5C7FBE9E927F39E11163E5E43F63B0C2E923BFAB7C0109FC54"
-    "937148ACEB38841BECA11C00057683A46606648539C3C81DC38CF688917A3F74071478BE13"
-    "B088F3626DEFF6F96F8E7C32FF998B60E27174E2C6BCBBA8E35B444FE7B3B45FCB74C06037"
-    "BC01DAD68149702086CF8E7E04F1791099086CE30967CD4D8D9FA6CD55CBF0FBDFFFD5CBE6"
-    "B69AF957573E5CA300B6C53A9CE5564E0040E5FDE3BB97CBBE4BB63DD8F142A89CF0E92EED"
-    "4BF21E3867A92376CFF2D5249EAABA252229E2A8170D1543258679FBB0DB54E7464C8DC3E5"
-    "C220DD04F7A91C8FBA5395321B75EC87E31A4B35C70B5E5226D49E3C0DA35EB2FDFBC4BC9A"
-    "84235C86ECD4668DD2DD277B3019003D89F43D3120B40B9302994AAA9F7BD3FA34665E6040"
-    "3DF1CBB62F6B4CFD258094FE13D51E8F35B756A47F81664C62B0817ABBE8DE0C2D9ECC4E41"
-    "A9F9FD6977DAC7CADCE7CE14A8E4339340A9EBE7792F94731C361CFE1E9A8DBCB18F32FB61"
-    "6F77349F6B9AFD4EC7448ED0198E7C221898869D6E0A2CEA895B13DBED02A172E623100140"
-    "8D845E16212683EA2F4DE75E3A865CAF6132D9E3F20FFFF48F373AF7166EC83B9D00BF5C4E"
-    "0040E5F9F9E5E5DDD561E4A539017246AFE9AD5EF80930B210152BA3F5D0433E2380229609"
-    "0682E2F7951FC5CCC4168253B5520C43B3058AFD9DDFE9DEFE8918987B14ABF01A7B7ED7B3"
-    "25D46FC518A222D340D729FD6A8D2B011588B77569528DF53C9DF7214028B19D42D056CCBF"
-    "31F39B309E4C99C465C4E553252B75858FA03EAA9B5D48D99BBF243B0ECFA3D8C3CA1628CC"
-    "620ED163AC84FE4433732D3651DDF9C08C1F9A07F6B3605EC35118D97F4BD0C33E1D95475F"
-    "E7B9CC707526B127245DAF71E738626530E68D9F53ED474D4449E4060F20025C87C6EAB884"
-    "EBE6F95F7B92018F132EA0FDC2A5FA0D70923E34C8ED40E74DF013E624238EBAE6C08140F7"
-    "0F1F9E2EFB1E6F422A7EFFFEC93E9C4E8077CB0900A86C0FDBE5A64A0DB6FD19C5061F0572"
-    "3149328DD1A5D72F4B3A5DE539B359077169A8BE2418795BB7F53DC676F7FBF4A427E6BC3A"
-    "284A545770456F6573229C754F7B3E4997ACE4DFC6495190B3969CB5C00AAB9321B239C096"
-    "99A0FD628C2DEC4ED68F9E2EE99839D7527A705CDA432AFA54F717EBBE3165756F9CFC1374"
-    "B2D1EF7A68893C5A8E7D000C919849231077EA91A515C546141349A9D724CF00B252821153"
-    "FF68A7944E444C5A2A6C23AC0F591F21F56FD4AA136899F3639878D1B37689BCFC3BA0EF77"
-    "FF5702FFADE670614FC09AD34FE5F84A9C5AAED40ED2336C2E5A83796360518009A3819740"
-    "156DEF4B39E6618FCB65BFE5C67F0300202E9BC5E56DE43CF89A7202002A7BEC97620C1EA5"
-    "22E30C62AA0E1CC539155A4600C90320BFAE4A46FC7EB424CCDFF8503B204439578935596F"
-    "5E4B41A754F03323638234A11BFE130F8A1C3F49102BBF243789A1AE4A0DF64CB6B8A40FC0"
-    "D449BAE8A46CEA96C4D5D4B6CA4276F6ABF7871101AD10560A3912D84C52D5045F951390BA"
-    "C60539A8746E6BCA7CD7A008B1E62F830566EA0E09B11827EF9D69ED97D677597ED8E113C4"
-    "7533CC9CC4A89C000B28E08D0211BC30B9172264AFD08628415CFAEB36A975057C36BBF8A1"
-    "85C36D96695AA9A8146BE62A3A63D51FD76D569895D5FE915904BD708B9C19FA4F02F005AB"
-    "2649DF2BF575CD7B6DA9D0BD5ADFD39E4B7A5311497679787CF7E26F4403F0F0F8640F8FEF"
-    "A7EFCF7294130070D9E373B8172182C68D6546FC2347772246041B00CF2735386ACAAA5D6A"
-    "50EF32284BF39FE54D78062A51D2F6528A1DD53486CB123FFFD7820918BAAED91155A55B5D"
-    "31526182AE136587F467DEEA08963221515A9A0148E45D69D58D2572327088905F5F34DD40"
-    "73C8635E0EF0854B99D2B723064A3B24E4CEC4499235B2F16301441AE6DC0145F4FDC84CB1"
-    "A7E4CC925FD798B4A50780DAEB67A7776533D024CC3B08F90E729FACE458628FBA16C58849"
-    "35CFFE01E302A5C95930C142316EE27FCDD720D515D926A669DCCB9FBD5BF9037052FD5A1B"
-    "1B21851BC1A8068A33E35F5DE38B79E0B9F0A4102C504420418F7C9FE39AC376786F9B9C3F"
-    "D5A65D2FFF797979F9F48FFFE51F3E5D2E97379108E87A19D0E74FDF4EDF9F65CCCF390F28"
-    "0F0F8F3FC6659F1DD71A2108C9193609CDCAE227F1F18E983C113828E5830EB2D1A5272C5B"
-    "719CBA7A7FDB24B7AD4AD9103956792A4C7884C53430D4C4A494DEC94CC0127DF178B1E99B"
-    "30EB62CE42DC3996FF10C9196330071081B83146F98A25C7BA657130BA1D63AEF4BB5D9A0E"
-    "1340E214C6DF55FA4CD8A37042C83AB13BA1AC6A1CED0B8849A7C172F85B2CBBCFCCDC69CE"
-    "13007670BBDE39532D833FF27EBFAEE2C898481759699B8054BA30210CB2785F7ECE75E23D"
-    "598EA779E3DEB08F732E25EAAFA6C426505973E514BA978991384C506D09A901D9B27F1976"
-    "E8E9B71FD35E479E0F3225F2BE9094D9D06E30CCEEF36404096A568FEF3FFBE3C3F38DBCBD"
-    "854C801F3FD80F3FFF643FFDFCD3F4DB594E0020657BD83E25B1B0925883003720F91CC2A7"
-    "4C9333DF315903F36B62347D167B6112B1D44464A2108AF9972CAA5DDAFBC25F5C20C1ACDF"
-    "17C93F55A78BE7E5B122D024E5B00318018F3E7F151B5F36E3D1AEA42F6E6D6D0741EFECD2"
-    "44F3425492CC36D50450023175F439EFAB97A885CD9569A64360BE9ADA98BADD167D090F9D"
-    "E45D3A42EB40A392ED12ED77BD04C884279023A0470113019AD4628C3B0DA26B9704CCA006"
-    "764A3B4AFA486C48559B261FE9E1AE6A72CEE7C0D5B1883F124A787B008E720474DCADF3D0"
-    "9D9A874B8A9EC98C72B8A61AF68C00100D9984CEF4D9A8919756E77686373CD51306CA1956"
-    "ED017A45FB98B55F8A7C473D04B26DBBE54DD8DC3FFDAF7FF7779FAFCCFF2D78C67FF8F8D1"
-    "3E7FFE6497CB9DBBC2DF783901009597CBCBCF57955197AE4B1D594C0F4CE446FFADE5F216"
-    "E90999EE8EBFBBCBB5962284D9E6207A4EC402D7C426111A2DFB3AEC6F12AE96ED139C11A9"
-    "8488530EC1004018AA70D8D3D420116FE776F23DCE3B40540FF398921C3141D618D0BC2A59"
-    "F3FA67F2C417E269143FBD268CECB4C67978A00217150C49681454498CA9096CC7BFDB507B"
-    "17A0389C0DC5B171E193600191DF5BDDF81644B0A4E3384214839807BCF3F37FABF9683A01"
-    "4A4E550E7CB6F63D89548D8FC1E4D295FFC04D6B22FA1F19BB55F2A47623A5D1860D9AA84C"
-    "7A35FA0DF979431B7167B39B3A0C46F47DDDCE0D3BE789FA9E6EF3236DC32612FB4834B451"
-    "3BEC407BCD4618228A288890D519276B00CE0419FB257EFEEE4F7FFE8296EF75952BE37F7E"
-    "793E6F03BC534E004025F6F8D94CD59F45848974A82251B38629A3777A1BB77129B1D1228C"
-    "44E899CAD5EC0D10F9E0BA4AE681F71C99F5F16D03D16E8886051E17620AC22CFD0C307F74"
-    "4F130115F1AFAFF4B6B8B2A5D75C2F7C1E6C969A4136A90EF611CBC219E1E86D2416822A97"
-    "3183DE5F0350C163613345FA95A4CDDE5B9FCB04505A0262DFABF14A6FF9C63FD500606C3E"
-    "F2FB1F6FEC16B4CFA29A8D3D089C3184E1B9EE4C7D9C8C4898C1E094D71F3E1EAD97951A79"
-    "8FFDAEE36A4E1432E9F1DE4492286FEF86693EFE4AD5CDF34759FEC210080067D520FBBF5E"
-    "D0435D6BE62ED2521069B0115D143127A9B9A57876BA98A8FA480EBF0472BCB415782158E5"
-    "715B91ED9607E0D9F64F9F5F9EA7365F6B797CFE6CFB7E5992C5B39C0040CAF3F3CB0F1F3F"
-    "6E37D258A46F4203E0A641F7816781A021C1F285E89D09D52FEECA1009A90888A8FA88F94E"
-    "B22B7DF30B0C449BEDCFA1B3CE63E276EECC13DBF92B3B9D6B02997A90C4E272AA2BC84549"
-    "790887054983CCC4D82F42E7499999B3E6213B40698A8D9C40BB2F85F8F631232F40E0B230"
-    "219F5BBF7C48E81946489A8EBED43A6DF0BC4FE6372D1F010993796CBD18B1FF0504C604CF"
-    "971AB5AD9592FF001FCBB9AFB038CA0F1C88AEABFEAC9B187331AF27246C44EA94F09C60A3"
-    "9991D26350657DFA9459046D48EEC9EC9DF65AED4948DAB297C69CCDCC7D080B9309D0AB8D"
-    "9B6620E8EC13C0E170DAB101862B2199239A7091CB7705169B6F3F7EF3CDAFFB0679B5E5D7"
-    "BFFEB57DFAFCE94C0474A79C0080CB163FA83E2E0F1D189EB3939883F86461E71DF10827FA"
-    "632431DD2DE330D7B675965042D80C984A27D271DC173E49E0F70A33764A04C32FB226C0C0"
-    "CCA40DCA9B0E3528A435A701B1145D66D5024BB3E4996D696A5CCC69F23A52BA43824F06C9"
-    "F575C270AB63D7818EBA214877D9B5958C7127E9D7AC839AA1C21641BF0106E2DBFCB330EE"
-    "6A82D77D5C1424DB41F7C634EE7CCF2875F11735002E73E9C19087231F1200B719232C951A"
-    "2078DFEBDF18415EAAD33D107CAE3B01E24EA6219192E94E8E8C0800FE53DF14B6FDD0F043"
-    "1AA3610D27C4D9C1D0685FA5DF03C05ED28A8D45790625845AE00A0347551009DE4651CF6D"
-    "0FEFECD3A71F7FF8C77FFE177B78232AF11FBEFFC1B6C7CDB68787E9B7B39C0040CAD3FBA7"
-    "EF830E144BDD66ACD6A3AF4B1317A25FFF92862D2526D1F2F6E75BB6BD20627A7B2D8986DC"
-    "03DF8A041C7C2904D101700AA8B0C77D777C24F650E95399510459240E692628831B187456"
-    "3FBE23F4846442CCAC48D23180219690A1F9E5D4CBB3E73BC42A064620F6D43B84D9A5873D"
-    "CD1C780FF976F0257DF44CB4CC8B29EDEFB509C6DF944AB8BAD4FB5E5F126321A0691219E2"
-    "C84DB02A3C81946B0218683118B6BF1BB20D0685309A08DCE8E7A4012B10D9B5311B8636BC"
-    "F6E44CB6904C2EC18DE7DC1247EE37EE89C98BEE0660662B2D0C00B1513C90F6016D736E7E"
-    "DA7662E2AAD977CC475FDF9AEBFC8B6802CD2CBD92A0170EBBB1C7F7F1F262F15618E2BEDB"
-    "0F7FFEC1AE618F6799CB0900A8B86D3F96877E94E078148940039300584FBB611091847442"
-    "C21C39FAA1EE2A44185DAB9AD4E23111E7F6421B1D3FC76C5B2F7D419AD5DE99194068EA55"
-    "2431D2E868F01796E652E24C29853DD4BD3198EC750B7BEB7398121CF500EBD066859DEA78"
-    "FEEEE5DEA10AB49E01E784C9AB2EA63BFA07F5EF88731FFBA30684044FFA9EF6AAE63068E0"
-    "53071B735BF0F2D54C94F68AB9ECF83EB853B94E64E20028A5688F64B8DDB784E75ED00E58"
-    "7BEC0908296D4E4663E4BB62D36769995929656E206ECBFB3EB5155DED5E3B7A80D92D3329"
-    "EC4362DFF27A66CA4DC108AE45C248944B8227F11860847498CC763E53ECA3E17D0D09A001"
-    "C75C7300D8FBA7F73FFCCDDFFCCD649A78ADE5B7BFFDADFDE7FFF29FEDE5E5F94D8CF72F2D"
-    "2700A0F2F2FCFCE3E3E383D22696FA2B1A80E857B7CF175D1C9C241D96C48B5B19A41496FC"
-    "CD4A22357A67660C46F7003029D09030F00765DCCE6362C9AF8521890DB28F2099E320662E"
-    "4488582CA708A87F572A66E5075DCDDB34DEE55BD0E3D95BF76AC6BC5D88B4A7DA3BA2DDFE"
-    "A7CE7FDA2024B8687F33D7EF10CD8C18A63CA0DA8CAE15B879AD3B220222BDF819EB149218"
-    "CF04C78B283402B08CE35EFD554648F5742C26BE734A67BAAE361525BDE47B91F3977DCBEF"
-    "E44E003072EC1F6C881860409C34DB9CE5DF73440BF66F0D3552EA37D2A621222101463605"
-    "499BA2610850D80248DCFE2865C19CFF4FCF5F0CB73D05C3467E14398F0511266D072E9382"
-    "A6E1D6C04FE13B8DFE7597DD2ECDADFB2C5C4E00C0C5FD730A0E7B119CAB436E4A011AB12E"
-    "926377181C1C0426396FEFAC0A08BEB909932D5F82512F52AD124356A157D5ECD21AE7E3CF"
-    "8793E091942E52900216F4C7AB010F483E0002D937765422C5421150386CADA476CA867A57"
-    "C02DC7AB194EE83C5437559AF2462A928717D3A614B2320753E9F08C5A8F6E1F00A0102629"
-    "EFE737FB20EAFA7DF94FD6FCE88E8B5A83B5935DC13A56009473A1AA2FC06FE7C433C53765"
-    "CE0E29B98F95F1854AC4D6E02DCF9DA6BE8E9D6CE1C5BC93CF0DC99C45E049CBC093903E01"
-    "5BE1BB04348573AA1D96BA710B634510DCC201B9726FFF1B7F1120315E07C35302220CE199"
-    "FD3C0B527768F5721C578DC5D516FED3CF9F3FFFFCD34F6F262CEE16F9F07C8601DE2B2700"
-    "A0F2FCF2F2F9C3FE14877E8FC9E786CFE116CD1EA8A97021421D877713491274730505BCFD"
-    "45AC6C50BA2272249D69C453673A7369D6CFE3AD85E39185CD7713B4FE15B96E59D68A9901"
-    "1FD44D65921E75A2F5487A24DA83C9E92FD40C30E643ECA0B31618E1518BF04371A59854E3"
-    "31C18A29A5BF81910755C27F9764B6B43370281F49C1A6E35005046CEAD2AE91AA85EF87B8"
-    "F9BA3660C37F936F01FC1330078961B0979B8ADC8F30BEECF3EDCE1953F4C62C51987EDB66"
-    "5D85ADF76BF010696552F1C64B4361712A75C7EDA22680420027681DD27CD16E1A2481DBC7"
-    "4545BC5F0112185CA94623E4FAE1FC0EC05976568F262033DE245A24082F95C558C73DEC71"
-    "7BF8F9E9FDD354DF6B2DD7B13E3E3CDE01EA67390100957D7FF9C1CC7E0EF78F57CAE5E92C"
-    "44FE7D72D89A6D6F7C09CD411DFA16036C9D02D2AB06627148FA6ADBCCDF396D2C34035677"
-    "D1DF67DBBF5058D45E110956E38A946F65CB17065C01E2A4656066536ACC4640859D711604"
-    "96BEF9490223C42427699AC180FEA1FF72995401901AF98B34C3746B40C8B3008053763DBA"
-    "44671AD788196FBD1EDF83E00BD3EB9025255DED480DAD46718BC31FEB57371936CE6B3C1E"
-    "F87EA4B321C24513F8CDDE8C392D0C62586A768F92642B3C715102DB91B42002C52BB77F69"
-    "1B022784F717DBE6AF956E75BE7BEB9109FF1780DBE51340CAA88F003640DA8E1C05ADFF66"
-    "64CAC8F51E20BAE811A125F8F760DDAE63BF6A007EF8F1D39FFEFCDD9F6E39F2DF42D92F17"
-    "FBF9E79F4F0DC09D7202002ADFFCEA57DF87C79F3DE26349A29EDEBE8C0018B5A304250F81"
-    "AF003946B114F265BA813F4A8DA7F64E90F110E27A5FBBA0A54B6131881C5FD56BABBA480A"
-    "F3F635C323910CAB311A74753F487D1A043052E24B26027A36B141619CE3D70267783125B2"
-    "B591FACEF7A6EB54E60A4C50F33588755D29F5ED141EC722B029F7E2AFB9ADDB6B8D892718"
-    "72BADC27909147C610BDBEF16DB72127B84A4D85629ED65F8C1C5A98B11F58B1B47318EB48"
-    "AB9CA1991DE019AD664E46326E713CADA9656D59531DD49CE6D8B4DF091CB64DF73AA02A03"
-    "7A5ACF04F8C3F10F4F079D53D4756C474E0C845398D32A5DA8C131BDF0DACBF97DD2054410"
-    "A839B08EC27EBB10E8BB0F1F3E5ED39EDB6B2FD735797CF7DE9E3FFFF1D58FF56BCB0900A8"
-    "5C2EFBA78707FBDE36FBD71633A1EFCAB6957A3CCF6CC8D32CE1D083AD74D42F0F338850DE"
-    "B7880CE04E37179894CC5B3726619F184204AB3117CFF6F77A0214F1B6EEF67C274CC144BC"
-    "4D1313346ECF31469904F3CA3D90AA7D615EDE4113CF1A4B50DC96E99E30F071D4032635D5"
-    "10AB4C8414E2E9FCCCA1B68DC1C40F0938FF18C0497865CBA960E34EFB7D47F0456857FAD8"
-    "A6BF635E87ECE26DEF4BE85FF2F59E88083111C796D8A176A8DF8DA4F2A13529338397C321"
-    "1453DBC871D133FEF9F0DE09D11099F11951FB1D98F1B5CDBDFC600A66138E64605B3D2730"
-    "1C940D34A316E41CB5A4E1EC7409B7D9919892E50DEBEB403D89F9195BFC7DEDDB65DFEDFD"
-    "E3BB3FBDFFED3B7B0BE5BA8EBFFAF8D1FEF8C73FDCEE4138CB5C4E0040E5D3CF9FAEAAB13F"
-    "3D5C6D46C37BB4DCFEC8014F997B53D525CB27A9B7D81A33B02E511879F2062A28E26849A7"
-    "5A685668DB5A10D68646F21F2F02075A45120F8918E5A847520D3D0921A911A328A21F883C"
-    "48E65A89025A940419F659A6BF7D4336DA9A0FB1FF6A3D5E13ADC33FBEE654B7479EF63D99"
-    "AA4C187100D1EDEB47012AB66E2F677DE787C6A536898C4AF26EF5A423259C087D66B6C2F0"
-    "6C0205CB7ED57F35565DEAED7590EAB9F6409A208A7BA704CE2F3BEADFB5531CD960110D44"
-    "53553BEF1D808692C633A6BEEA8821593B726FF4292B1F1ED6434CBA2F3E96A3A7E91BD4BD"
-    "FA116A28E030A02DC87DC7861E395FE2B74068C04995423E3A535C415B33BF25027AB07FF9"
-    "E377DFFDF0C30F6FC604F0F1C347FBFCFC7CBB0AF92C73390100954FCFCFF671DFFFECC5B8"
-    "4991E79CF023FF25263DA9084D8993D0C185081D52F11471C0525E791B3760B1A2F5BE439A"
-    "E0268A6DE66F2242E33B682021CD14D34FE638086D1159E933FECEB96009D84743E5FC5620"
-    "81C1C8787610D00A770CD8CDAD98086CC7AA1540B89A74AF56B2854B0967A3A7F99F019A34"
-    "0B1F2ABF25E01992073BF7499442D9C0554229CD8E78E147690C829826E687E15113DD5B41"
-    "A422181070984F7D34EBFB2BD1ACCBF464E7E183C1A16C58A70A1829D539DB3D128875C73B"
-    "38BCE28ADEEC6F8672126C4C9F12BADA228EFB961A708216C209F8021ED6CDC0C4A2371C10"
-    "D775E7CFE50253F679930719486DC089F22B7574F825618F4048A06E1BA9100A4A1F30E1E5"
-    "72F9E3CB7EB9393FBEFAE266CF979729A3E459504E0040E59A37FAE1E1E14FB85DAE1F577C"
-    "CE5357F7C82CD500298D0C22DB844829AEDF42EA25924BF1EE2BC29E5EC5E54C37A54CED32"
-    "150F48C49BD1DF861C5A1C948405060853708C788D37EDC2876985D84ED94521EFCFBE0880"
-    "2C4CF867261634FE622AB960D186C07CCB71591E9B24A6891EFA591F0E6F392DC81E0C6997"
-    "3535C5962BD4A08BEE39EE481C2465EA49698BA0416089DE6446AFE604008CDC1B7B2C7783"
-    "646494EFF3B768FB553A070D4431FFE69F6146A02D2B93A65CF7039D4506BC3BAFB9B49E35"
-    "D78372E73E7B1C08F764241FD148007BDD53D4830C3B2C3602EE72A6134C1C7FA79A9F2F0F"
-    "8A8201FD34E4D672440ED4B46988725F079CA3AB09E062BFFBED6FFEF09B5F7FF32618E2D5"
-    "F1EFAAE9F84FFFE9C7C9E1F62C4739010095778FB7C3F76312EE528FB3B45F977900E15B92"
-    "9BC04146163FE8E061B36DD983EE149072103F71F431A178CD116E014C9AFC9F2C7C372256"
-    "356632450C4917EA7C63168C3A93D9B3E7573E43A085C935CCB744C229DC514C1ED6DFCF39"
-    "26D697F3F3FFB2F76631B664D975D83E7133F3E59BABAA6BEA6AF6A481A65B2D523F064D81"
-    "9464FB8B80F4A11F0BFA15017F18300C81A0048820204BB00159FEB0448B143F6CC1B004D3"
-    "063DD0B24C11A269901607D9B09ADDCD5964574FD555D5556FCE7CF972B8671B1171F6DA6B"
-    "EF1359739788CC38E8AE97F7DE8813678AB3D61E4F08C76300E67AD2464BF766E48EF6F656"
-    "3F4777E4044740644C98B769012CE337AD752974BF0462002F8144258C0CE9895615000020"
-    "0049444154B97648351E5C041F85F65B547833F02C069D3B98C1E37F5EE363BC3FD785758B"
-    "61D6504394FAA5D559BD2DC98FA2CB8C89CA94D63C79C80749DAEB2A12AAC7D2B7B9719867"
-    "A93D4AD4252620987F4F5EFC62EFC9F461C002718AC0A19A0DDC53B8A252BFB1AFE002EA4D"
-    "1258F2D0D8FB7A65FFCA93EEA20B5A46B5FFF8FFB73B49F3329795005079F8E840AE5FBF7E"
-    "6F77F7EAC49623E824957CB2121642007300E293F342785177F7729941890ED609D23D0194"
-    "48004D07D6F3F3DA860D268831E40E479230633A3CFE0D448454B904F259CA288154D1A66C"
-    "87FFE470BB540F45C47B0343AF22A847605C28B8B4399AE58E9B806BC407A903FBDA7C7892"
-    "ACCE8E86C33067EE3350209F864A60CAB1F7F3A3E9B4003EF6D984FAEE48E108F6C1212D40"
-    "621B5BF2CB0B24414AD7D759054DA627E6B35126463D22BD4201EB3351348FA34F1AB30670"
-    "58A1D49DF3A4D9486CA2248ED6C207A34C5A719B91BEC6EA44163B01BD2F257F6B033360CD"
-    "A8693E82EFC27C52E830A8F0BAD3853E9B346FE42D9A1DFB16171A83511A1ECD51AFBFF6FA"
-    "E19812F83284C58DE375656F6F3E60690D035C2C2B01A0F2F0E123D9DDD9BD73E3FAF5E9F0"
-    "8890A9AB63D86539F7FDC8E48DECB394CF0E70EDB396BC61C64DC09F443F5B5D1C6F2F1277"
-    "D776B1259DE92A4CD5118DE984086EDFBCD1051F682745EAFBA3629313A8FE991C84BFA1D2"
-    "2C1853216FF03EFB9FAB6D8B6667B95E6DBD543C3CD10993CF621A1406D4B2F08C84F7313D"
-    "2D27C9A1A37611CFAF5D25A4B876A347F1F5334511B6F3F295E797C464E48508D90E63C72A"
-    "F9A7B8DEA87464AC5F557CF6BCF72D5B36F82C80894C187E4E7DA80B43C78BC3EAF0E75684"
-    "D852C481E53A201250405A8C907ADFC2C42E69E1EC1C7E8A7230939B875A3201EC690F03BB"
-    "110C73B09CBF1AC21D183622D619B00AC2572568083C911091F23057FC84A91C5EBD7AF5DE"
-    "4804CE234D17A98C63B8BBB32B078787AB06E09CB212002AB76E5C97DD9DCD5D386E513AD5"
-    "4CB4B1C7167E99E3C6E31B41BB27834507CABD94826F108F4D26862E608DEF638D40C17D2E"
-    "B364682F544F5FC236623E007D738384C939E2A3C6829CC4A81F4A3D3229195EE13618B887"
-    "E0D3BE37C0B136D2A8320CB86A3B4E4867F6A6C8864EAF407815BCFAF1BD7A3F306CD9D9CE"
-    "6E497A8385DF844E0D34FF8660E6A06C550E7CDC565E212C69FB0A81932239F0A5010CEDEA"
-    "BAADFC81DB41EF0D7EEC2318541CD47361F8662D93573D3B521AED3A87CBE14A88EC544A03"
-    "7F6107C310CA476365755AAEFDC0D8FD89EEFF9318252F8412EF999E5DB5590D967210F463"
-    "B180FFA12D2DC4F1DEEDDB4F3D1C264D543FC617AD8CFDDCDBDB93BBF7EEAE6180E7949500"
-    "50B976EDFA9820E39BBAB05858192062CEBFB429C05D5E5BE66DB65B07E45A7C4F63E9AF30"
-    "6737681DCC56692C2439C7C54DBB749BA5086FF4C98188488E49C79CE824A7427658498E76"
-    "007ACA54D8110D4E5BEA9BB30BD104BB4D25504253D95FA0531774CFC27D43B40B023812AA"
-    "999367F001E0FE2BF4B54162E679201EE6CE71D662B58C93E2C1EF9A446F16F059930FF017"
-    "7660F07ED9BA186611DAA78129919B9944A40F2D1477E2E399CB9C60284D3B21737FD80973"
-    "C9068B26578FB2CC0337F7B5A515B6443F84C7B06E61EC72EF08BF99448C67FF83601280AB"
-    "DF13DEA7B076E3CA8F92B4C6DFE9BEF04BF174E205E44BA0B940824146FACCB1F9652D9A9E"
-    "AC183FCCF850C63C27771E1C3CAC97C9217E74EC1E865ED45ACB5C560240E5C1C38772F5EA"
-    "D5BB57AF5E9D9398A74DDF24D268CB6E1720656F49F1FC4912CE76CD2489286D40F9951638"
-    "179A6DD0D160AEDB25DCB8DD6A575F0015497F98B09E7EA8BE9DC4810BD2093F23AA59397D"
-    "718CF3768252DB78D8C142213581F8B8DBCE1C246C8900D231011E1137207B5D9D54C4B4C0"
-    "06C57FD240C2E23D3EF5ED335F83247D31639DCDA7454B58D553C4568B9B0F6614619B7FFB"
-    "9DC6098F6BCF83A68409C9F8549F58A9BC28AA0F68111F7C1A7E27685CA9391E92A6C23AA9"
-    "BA706D221598629BECE984466D2600CEA047F32E7E1897BD43410BA6DEDF38CF0ECE1EB550"
-    "30BFBC14407395B40513C12A18678A16F6F614091440B565162DFCBB789FFA57959698B314"
-    "3F623933F242DA87601E785036E7FB4C5CC45286348F6B09652500541E1F3D1A4FFE7B24F2"
-    "14A14993BAB1AB30BB76110409390259B08D737E46360178E6302AE1E5D720B595A6E6751B"
-    "6FDBFA60235C58E94C5C5895991FCCCF4D12207B71770E52CE58E6AB8354ED15CE125CF231"
-    "608EC45532B2853EB8173D4B9576484CF687B77B6322243BD12FEE0EA6B0CF03E7B89E54DE"
-    "8C2B1A6988030939EF4576E292B7BAD41E1E91D70CF21D1448C5DC3FA729A581B876EB1040"
-    "0BDEA8E9F738DE794DD02B4100CD05819D6D8CE87713F975213FB1CDAC012A13B4D00CBC09"
-    "CBA1134C48242E2A8F848FFE09F63966A4547FCEF4F7400FA2BC1083BF1BA5F83A34138231"
-    "2E8E1898A7921BECFA017F3D8D6ACC65A0F644B3898696C6E21337DE33FA346D36C3C39BB7"
-    "6E2FEF1317B08C26802B57AEC49C206B096525005476367BB23DAB77B6DBD14B76E3D9CAF8"
-    "04409632C4C1AFD097F6AA67DB60D1D283548AE9CF52776187A6B04D1B1131956DB78DFB65"
-    "A9AD0175C3464F3B3E498B11F0BD93B6C9520FA152B534A55C57E017445EEC0F1CCBCB6A68"
-    "F67BE03C08FEB4D8C69286C24C27064EDCA6341751764F21704B3B48CB678F8E589F30CF71"
-    "D612FC931B7BDF6688E0E88313952009DA67B60B182CE48D0F3F73B89EC634C825CE8F88FB"
-    "2ECC18AE610EBC6A0D04D14999505F4B4B88E484C4C2F69ABA84FA9F47CBCD09FEABBF1B19"
-    "3443DB422218F28731A2293ECF21D470304D54756F7E9594B09F8096280388611BB8CCBB15"
-    "897FEC3D8E6D9E4DF66D0F69927C45D6BF6832B081D652BAB193361723189E9D9EBD767A78"
-    "74793400AAB279FAA92903E25A96CB4A00A88C2932777777BFA92AC7A5942BB56D4E03CEF6"
-    "A6921C8382946500A5F1B6CC43BBBCF2A849DCD33AA9905D7AF3A43FF95ED42F9970885722"
-    "04EE8974D865D838019AFC7BB29D9A245A48D959480A341B79E62726F52DB5C9F897488C68"
-    "8094E7FA6E3451DDF6CC9D296D93ADD5F3380409550B2477D650F70DB13FCCEC42000CBE18"
-    "B3DA6174410CD8FF9F8E78EEBCEE893985438D48CA4FA976E3C14434F4DCD5D097881901DC"
-    "8B62ECA4D9E37D5C7AA2E91A7B6A5399ED0A4BA4C5E911138E1246273F078E94F63B99E3BA"
-    "36512D85E2E8A7643DE9DDCC6F32879E829FA9D7410BBCFD6D0E84B68E391916BD20D38FC3"
-    "346D95F6103CADCEF6FAD96F437D8D0B4D37693AD8BB276ADFE268943911D0EBA7F5F29C8D"
-    "AFEAC9BAD6B25C560240E50F7FFA0F8D1FC6A3A3EED75A5F88CC7C06DBC18C7C512CC66636"
-    "9B01680385C7124995A1B0A8EAA2820BEB78BDB151BBF39E785BB4012132F441BE4A2F4081"
-    "AC72FE8B611B968B2D1E4F6E7B1E491EB41F424DDD80CB0F6BC97EFE365E6A4D8746C31E62"
-    "9A84A5EC798E3131D701131E260DEC0C261D714A42393EA7390B58452A906046F0CAEC3A00"
-    "3C778140DF9BECBE1C9555E58E9BB40E9C580507C5EE26C15CD0402F488185C6897C16827D"
-    "B95D63D2668698926700ECAD619612809BDADF57A82E77240C7E0C6D5DEC2E2E87D6007CDD"
-    "226816DE0B036FFED27C232C773047BE04AB7E1A0B3EC23B7C6D1EFD35BCEBB656420E0426"
-    "13D4D679889D9042EA4F4A89ECBF30AEA7CDB0797D7F7FFF2DDFFC0B558AC8666767C154B5"
-    "162B2B01A0D2F2469F6C76771E94525EF053CE28FB1FEBF0D26620B40116E4C54FAA67DC91"
-    "A516F3E68DD24948C70BE9DD6D8C7636F8F4DB506450960972A17BA9749B6150310A2422BB"
-    "2E9829F846003DF531FFD5807531735EB1B164F9D87F87AF037C0A3400DA743A9C9DCF1E9C"
-    "CD5CD3B03028FD8649E35D28DF0E04F212A5F6541571860C0C2418A30EF3F43370AFE4E8C8"
-    "9553DB2B9915B20F62688993477823D0D1C9C84F80904C57F5B356C5C06F1E92C49492F4DD"
-    "45522C0158FBCBF2451451720D50BAC7C718D8AC6964A1A9626A49C4A3D06996D22D740AE3"
-    "B3DB7A3F81851764FE0DEF88D9EF9BE35DA9F34141ED77854690E83C25FB29C17350DCD65F"
-    "32514F8DE8A271C210E222CA81F0A6D4E19C9B2E60D16E29AE2595950050393E7932C58BEE"
-    "5FB9F27A91F2EDD32F93D83FE04F6CAAD99ECED2007FE6F85F20C8826DBDDD814DA2A9F821"
-    "49706815F021494CC9C7A05FFB2A7937E34FD8741B3A73B63ED66076AD6E95706853388C84"
-    "E2B55C8D6F5224AB38E7EC2E16D2BE788887D543E026E6D91D5208E7917560B13F30854BFD"
-    "629B7E3BAA071A5CD648A44C456A0392D68A817D679229ED64BCC81CA276813984C6B6CD76"
-    "0D9FA388803EFE4595A23878545C4AE6BB42D4039F2605506CE33970B440CA25500D879BE3"
-    "622264F31AAEA18BD68570CC6F08252D34FF8AF722F698C7C068C110C1DE08DE6080EF2382"
-    "5555A81E25873F9B458A3480D39F337B00BCBF149C4990977D2401E10D0D6C5AA985F49422"
-    "DDCC2E7D5386F2C6D0697E2E70291E91B296E5B212002EB5886E653C31EB1B57064F919AED"
-    "FDE11532DBA22375A77AF6D73582C5A2685122E30F27DCD1BD5A5CF2C76605312A92932893"
-    "9DBF01640223AC2FA8E2DEEDF85111D32C418569D510B850E6C24219FF5A675CA26DE30729"
-    "D5CC0D909E6C3C4C028E49827864F94BFC44B68070164072988BA95AA525CF71895135CE87"
-    "847B636394100E99F1C8D6508C1A80DC20C76F9C4E7C4D6301293439D8A7F5E652B0C671D3"
-    "96DA571DD4B863063926E1DAFC221A8F423BB15AEC4023ACBD34481A35186097210A22B31E"
-    "EE16BD4785FE4D927B697DB3D308F9965284082349C9C80D50BC7F64C19B892E67FE33495D"
-    "7C9D34BFFDC2B97ABB57DD4900E6A5ADF5498B05A19D731F2C90E1B2ACF1732215C6FC1B97"
-    "0EFF2F5387DF4359090095C3A3C3E9ECE8BDFD2B5FBD79F366FAD5DF600D422B0150B03B96"
-    "70D7B23BDEF9D638328DFABDEA92916D304AF1E3EE7C180FD0E9302AD42D4BBB5357724483"
-    "A43D39122593981A28942C7FB39F02B92A92ADD825C09828283C9CFFC99D2C0E5CF82A24A4"
-    "4920DDC9C0F689C2E96CC3ADFD754B75867633C3090FD060F208B4049A901E94F1D1D89F91"
-    "9ADA3DA055EDC900B465DF9901B8C6562712955AE4DFD8C700C64E00391DB18824D2E3638B"
-    "F5BCD06C4FB59DC8B3BF0C732D6D0116491BBECD9B01A479EF2BBFC3C5495D5A994C6ACC77"
-    "200496B3A56C887E3B43A0F1B4B6C2ABB6A4C3D7F04C5CD901995203FA7D8429C1D4BFA13C"
-    "2E455ECB4FBBC8A57353594B57560240E5E6AD9BD32140BBBB3BF7B667DBF9074AF0035F00"
-    "42D6E9C534C9883603BCEC901A161663D22CB8BC256D93CD278ED943E35E621BA04BB66FB3"
-    "EA53121EAB9722A5DB757C6C6B6878800316AB5C53EB128D7B4E934A0E8D774F6706EC4E5D"
-    "9C9C09D9A98B9ACB7B73370A11936872A84F03870CC6E1F62962E7CAE0DC497304DCCD819F"
-    "692433B1D1A44150D294985E9D089901AB49A219F4421AA364CECE1903E368F80154FD6016"
-    "272ED86535B4DBA46EA55B1ACB9BD7465507C0628FA174D50B26288C5221BA46476D33C772"
-    "47BF4244A3B51B61FD5E4F158FCAC921BFFC253406037110336DA9930C654D00CC5365CA98"
-    "58A8726DFB859D1060EF2F121B365FA220DD634F811A8C5EFFE269C3C91151B53C2943B934"
-    "27014E253B75AEA52B2B01A0524FABD46D95EDB07D3D2F9CA2382704763D67D9A525E7B3B7"
-    "AEBD84222C1674256F329077A0432789B981ABDBC535B40D5BEDC273BA12ECF9544FFB8C26"
-    "391AD39907F1F433420AEAAEC7EDB3D40BBE130DB190FA43EA60310222B683B50D8F894102"
-    "1BB2CD771225F58D66357C1ACE19BE25BF0A5CBBECCC0115B9FD4BA7F107A260E365A701BA"
-    "6DDB77F04299243311E1719F41289E0AE98F8A76F3D099624E88FE374D16013CDDE46A9FF6"
-    "BF8E25043297DBE4E6221CB1B8E0DF12503FFA98F03A04296BBF201AC6DBCBF67F8E428953"
-    "523B7F1F241DCAD13901B87DED3A1916376B147F73B43131CE4B2074DBE47244C0353BB69A"
-    "A0EF84AFC0B5B3F8019189FCDB75C36618F7B583C387878F17FD6A2E60197DB976F7F6E4EA"
-    "D5EBAB19E02DCA4A00A8ECECEC4C31B2C366F8B2C73CBB54EE9ABB28B55B781CCB4F7EF2DB"
-    "BC190D11BBDA55B1AA50BFED6E9076E355200106FE5005F0AEBEF477145425D51B25C4B9FF"
-    "53229176E84D89DB3215DF288113C5247B9296826452A02DF036C5330DF810A46E00B93B84"
-    "8C3E1425F728B6181BAA3D8B50ABE9030288C68843AF477D6CA2B42F0E6CE45048BCAAFD1B"
-    "BC11C01C72CE000A0FF007687CD6EC812E48030B0024805196294BFEB110D96B77F689FAB1"
-    "EEA1EEE791EEB2324A23B10B0E592CA6C6AB83A60B6BBD14A457464B4C53C539B5827F0A85"
-    "28669BBC49D02DD747F021686DF354BE42F1FE3E34B8D6C6C51CFAA021E4BE12B89BD0A0EE"
-    "371197391BCA24443360BED535579296870FF1D4AF87C7C727AD7DCB6FF0452A2301E8D7E0"
-    "5A72590900157BF9B767DB97E7233387203599938F4A7EE9491A140F17B43D35E04A57A2A4"
-    "43EFBEEFCDB657B73041E4590F752EC38F04D92AFD5CDEE22B4E6462BF85CDABB581A5AA70"
-    "121F030877CAD593BED959B8964694E5F075748F812B2169980BDE2CE977F660C766AF144E"
-    "B930015CB11AA9E334C2D44D101DCA6FC05A8B380C0B9312095A6959E1EC03DBF87D5C5C79"
-    "5E1830B93706307884C27CC244C3343FD104C3FDA4A44D616EED1DA18C40617D692FD527C4"
-    "72A29B433CDDAF2000AADA4C59FB385785D59D134319CAB63B8C9406BF00AE3CBDE76AA18B"
-    "12BEF3761B890D4E01ED9131BE1F2B13EBDA1256318916BAC7C7AF281977A232C1E7BCF57F"
-    "D46A6E36C3FD679E7D4A2E4B292DE9D77A0AE05B9795005079FCE4685A309BCDE6CE8D5B37"
-    "1E15919B86C04B922FABE36D4B084EF2E1F302350F9B5E8FC9D830A06224299BAB2AE74BC7"
-    "B2F4D4CEF7A0BF5225491B1A374793A88A1457A562BB8D46543FCF5E0188A5D03394920611"
-    "5E16126ACC0CE117F4AA13287D3549CE3C179D04EA24A49BA238C8804D773E4BFE07F66C6C"
-    "E8957EE4B1CD33E2110011BE95D6503E034289482482D1FDAD7EC88FDDD74010BE02CE7325"
-    "A00F124F7106468A7E0CC4ACFD6EB1FDE40C1B260A6423AD5B24C0889BB6FB75B03A9E2207"
-    "8830D9FC4013616B2178EEDBD89534E5330B984E8A141A078ACD671C2EDC274E1A446BA5B4"
-    "AC7F623E3DA401E28387F05966E0E2FAF9FCA39800CB5524DE3FEA5171E2376C368F77C7F4"
-    "E66FB14F5CA4328EE5D9F6AC7FDFD712CA4A00A8ECEEEEDA0BF2B06EEBAB9BDDCDCD90C54D"
-    "840ED421884C022F4BA7BE81ABF417C7D27D1B05247FAF49C20A1266C17E15E47FEC926477"
-    "5C221E61B3A66C440D7F247D839BDD2E4A0993723F927A150DB43D9D012578865306C1E05D"
-    "4E3D54937F194C221A8629A0825307977E0FF81401BC8403624CB54E5D266DD072D220A57F"
-    "0C3072F34BBA8EFD096C0CAB3D303C5B69E426D5711BB78A2892859C042204103447767600"
-    "E645E9275A5B0CD4D66868767CF504E9569C3831C1ED8F25A63519488F8F11FB825425C740"
-    "632C0C94FC1AE2DD7627BCF95194FFBFF885738E7E3BA287F3F5C7B498C101D61EE2D6011A"
-    "0D27BE635D433AAA5A5C04407F94961FDEC925822B45F6F676E5DEBD7B2FBFF9CD3765776F"
-    "B79BF38B58CECECEE499679F96DBB79FBE14FD7DAF652500542CFDEA7872D6B66EBFBC57F6"
-    "BEDD7E85272F316DFC0D0954967D06E236E55F2E7001A57DAE4BFC835CF5EAAA74C98049D8"
-    "CA616FC9D980379F7E2362BF86F3DBCADFA9D2F3CC618A413F90211F53C68EA2718442166F"
-    "B291869300892008404A1CD451538CE6B00799F3A12C00CA8C5F3D4C7A1A643E4048DC0C92"
-    "D5E7C1AF209EDE0767D1F42C074DFBD909A5E18C814B694706B379201E8BF356402F5D889E"
-    "3F8B0E600AA01BD7F8DC267A869DE12F4B619725A9E9693DDA3B1667DEB502481E15EBD4E4"
-    "379264FAF97C7D24B78A5A0EF66A810941D3BBC74440682C284AC6CC5F9CBDD0BE07791D66"
-    "8D8039EB4D349248B9ADA5D9FC289184157F375DBDC1BC249BB07C6E379B8D3C3E7AFCF237"
-    "EF7D53AEEE5FEDAEB988E5E8E84876AE6C4238E65AFAB212002A96E7BFCA140DF01A6F0200"
-    "4A4A14620E7E9CBA1740C60972E41C3FAA85B5D91F5292BDEE93885F32D891406662A9B9AC"
-    "5BDD493A0E1B2601B8123ABB344571FD85C98A3800B73AA1022E7DBD660260B085A0466708"
-    "04C54ADA0F9592D0B88DBBCF1BE0A68194CE500BA99B0B0D52BAA4757649EA8C17D151C319"
-    "04B21F007F601B7BFA2DCF2B7AD488051E41A4C22346648AF93782802F1B391C092F2732CC"
-    "B4353A8BE5851BCD1FA1ADF81C19696756E27EF2B2263782B9DF15E35FC636535E09F74F60"
-    "47CB58409E91B56F409A5D90175287616DA50803C6D9C2CF09F3DCFE2609DD921115CA6DE0"
-    "192CA383E2B807CD73432428981B347C096B90AB3A52E366307CF18517BFF6B1975EEA340B"
-    "17B14CEAFFB3337970F0504ECECE2E7C7FDF4F59090095A3C3C7D387939313B97EEDDA9787"
-    "C1136D84B73DE9B8F918D0A2A5DF8198A4F317396110EFBFFC37271C11A118B3A8FDC76D41"
-    "F5405ED6007F426D95E54D1FA15AAC83F0DF1D2E97D21959FD71B30969564D22630D726B8B"
-    "118DEC21AE9DCD76C1933F8D7980F405E2730E2C4BFFF5B244ADA1169268393AA3FA08E24A"
-    "26046D4E6680AAD109A2D2097CF8DE531F9706F22048CA7533C8C573F8A382010174D40D77"
-    "768DA98D0BDDA1295DB3F573F04C8F6CAA2102192744FD6F264334F7D212F14CAAF7852803"
-    "F793905E83806693238B8595E636141E0DA24514E64B14D743639BBDDDAE0F1A07EA2BFBB5"
-    "1436EE5B9B52A3036745BC5FBF8EA7FF0D8393661DBCF5F3F55FD7B35E9B7521CB38C667E4"
-    "97B19673CB4A00A8BC79E78DE9C393274FC685F385679E7926E5FC7715A1B2BAB948DA40D4"
-    "5F7029611F2B795F2BF64F221624D923E4CF8DED24123B58F4ECBE20722062146FF4F47D56"
-    "3FD8469F801C4E548D4484CFCC5C38769B494C101953F63FFB5B500511A54446A4040264E1"
-    "60BD2924FA4A18B7285D56BF4EB51287F36D764FC7539F37B397FB3259A8A48D83B63E6800"
-    "6052ED7B1E207CAF04C612EAE741F0DF6CAE823663FAB3D2DF9473A1CB549846074B90809B"
-    "5BE4AA1AA60D0162ED9EA05DE2C106024BD368B8786DA431F499233D9810E70C3F58900242"
-    "AC6AA6FFEE05A57659DE0FAF7600A98EEF9042D390D3822FAC814E95487D0CECB14C270A6A"
-    "4B140607C5E06BE2891D8A966315F9ADEDE580FF9973D39BB196F3CB4A00A85816AF297186"
-    "D6D7AB496EE9BD94F01AF3B660E822F0DA5706EB25677DDC48E0174578EC0D9028499A1223"
-    "085DC5421BA48BD87DFDDE218B1D37E7642109875DA0A1050821F264BBA52EFB466CA365E4"
-    "A8C95D18DC482454FCDE98D285DBE563A7002BA20A456469D043A819791014DA6CA784B934"
-    "BE4CAEF2E730976264AC060C2B4404BAEBF1B749C00EDEF13149F33311984A555098A86D83"
-    "441A949EE59196819EF868B002A61AC122B3925D2342E3C452ACAF677C44822C7E96B3BC9C"
-    "E849D2ECC0E782CE24108999F5E606D5E0EC0722451973B02AC9F10F4B065D2C510B408FC1"
-    "809023E36469D3E553438BFD26E61869F7FAC97F79AD8EE33A645A4DFE3E3CDE7C5AA7AF16"
-    "A820EED4AA77BBF57A418B8500AEE5EDCB4A00A8FC913F0A9FBF7101BD7C7C72BCDD6C361B"
-    "DF50E712DD7D4C8868C93C5A7C387B7F0BDD99C548763C8207BC6D4FD8C4344A52257AD433"
-    "4C2E2AF9F8ABA4C297FE27FF9D05250261BBAC9608D0D8AAE8665C5192A737B73D38021278"
-    "737C3B132AB17619412B2473A6115870E2C3A0A83F1B0468E8EFE91CF28848050FFF56574D"
-    "F1E890FE34B7C0A1B2F2DE1FD60EF91E04957A896D0030110983FEB8C20925F04DE719D194"
-    "C33667EB5F61A1D2CE1170E0B776F4DDA49A09C9B2E3A19030EE5E19943382350AB88156A5"
-    "A5CDD6A8290BF932EC3D1571091E5D2E7171C7D10AF562651371E7FD60BE7CCE23E2CEA7C2"
-    "149922885C33508CCC87D9504BF38376B3050FCB62323BC4FEC041B6C8977636BA954B52A6"
-    "2D78BBEC14B99658560240E5EC787618691BEB2BE5AA7CBD887C12FB473C05A86D7C83AB4D"
-    "8542F448522878413318D166B5642FB4AB9A448ADF59CA5A020A7E82CEA1C9512EEBB02800"
-    "315AC1B6DD25ADC1A282CD241A577B1A6E21B39A50A8A026351DA9F1A3C413AF5BF25A779B"
-    "7840366C960CB0D3E6384ACF4DF24228A12EF7AA9B376B833F5AD4548F2C6A53C6BC7ED453"
-    "DD9ADACDCF0A7DEF2E02A18921912DE7BE49B9D57CDE4B0359BFDFB52EE2122AD7AF8C982E"
-    "2DFBBB51C91CC31A1BF2E9109A073E1130AD5E5FE742442735032D21C93D8F2924788D5E79"
-    "06CAC9B567D410982330DE475634D13BA14261830CE2F1A5C520F1C98041A64F5644CBC258"
-    "88BCE014462652D6AAE42C88EE141A94AABFB3ED84918B5B40464B7C43D6D29795005079F4"
-    "E8C1F4610AC5D956B97A75FFAB7BBBBB9F3C3BDB02CC3825105ECBE0D424C8F95D9A3620B0"
-    "7F2206B34E95127A84D29E018949C0E8B1D9B017783B163E0B30EFF425B08D8585208DBFB6"
-    "FAACEFA40AA65DD4DA294661348E51F6A447CF1D49001CFE8CD41E3A2E38441974042B0A70"
-    "B1A2A4AA8E97A36FCC8116A3001C0FDB478732233E01C293DADEC64697329671A3037BE148"
-    "83D8E3DA9CE5B8FB95E449074D8DA4C89A086994C6525DF2769BBBF67D07C1B31EB7954F0E"
-    "88F06F081A2D7FB4E6C690A3686A64F2FF1019D2738352DC99702011F6411BFA464D88372C"
-    "24126AE03FD9F7416C3984B1CF9829441884D759FEC2CEDD40A40D6BC94A1C7A655291A6D1"
-    "C679ECF6B0F9DAB0B95C498066DFA715FEDFAEAC0480CAC34600C6727CFC446EDEBCF9C59B"
-    "B76E7EDFD9769B80959195BC7D7903C55B2B71D3E9929C2C2D52A553CE8A7BBF17DF9A0180"
-    "ED792C2163232D692BC70D0BCF6CBB066F27053B896D52BE5B875310296D70A1EFCCEF21DB"
-    "F05902A2210B367F3303E06B462B1C0C24D8B87361412C7777E12B1F25D33800C453CCBA48"
-    "404DA5369994DDB545A91D9A4567070D154DAA7F1A35ABBB8B0275899F9D07D909CEB53273"
-    "7F60F757F79A8F03426DD0EA935024304A06605E8391D425A2910842C111D0740FF866F533"
-    "35AC45E4286A6DF13F7D2CD164B60C38079BDBD5C8B7DAF1BD85C83685EC5967959B47A278"
-    "45BBC67A066A2DB17DAEAFF870E29D34BE93DFCFC856A6A090229ED9701A736D1908398F44"
-    "D016E817E668927E6D5EC8D2CE5E59CBDB97950068C43214000020004944415450B975F316"
-    "3E9C5ED91F5F9EDF199302454142FDC8CF69C3B3B3D55D5A998D71E2A24D28EED61436B6F0"
-    "8BBDBC66634ED2323ED946488E6949AA0B2C98584A0E9562E72C5C4A09D2834C4571FDD45A"
-    "DF808A83B76DF81C4DE6518CAD2D9CF6B46DB30EFC3C36345644B0883BE08A407AD2384B94"
-    "6F693CB5A951EC89C9765F6629AEF6931AC8D6FCAB5DC58E7BDE269F47C5B3D0964E52D36E"
-    "0D8A12E02B1146D23AB8A9A044B4569EFD1451A2025064DD4500A6328F13AAC4B2E9C71DE4"
-    "0263983F77934375F5253B05DA7DAE868FFDD5C5BAF3FA1982032BAB25EA04EA42527CD458"
-    "84EA393AA8D532D80F6C42634D5ACEB7454C2998E0C29A4924147FF979961EAEABB2D5FADB"
-    "DB250DD3052DA536134A9EF4B574652500549EF9C873F830BE88C330FCAB31A14494C9F8ED"
-    "8F4E6C00D78670853609C52655C2CB6C7719C0DA1706D3A60A74894AFC101EDA2C5CF53E37"
-    "A666DB3A3FACF4BF2DBF2C1CD6681B60037E7204631348218F6A5649B80069A1710D2E2976"
-    "DAAEED0420D663140C66DB5DBB44023C5071E0961E1006864992B87326E15E200E4A7F50D2"
-    "9DB9DDF69C148C6C5A0EAA776E22EB76B95E0DDDD2006C89DC9155463024AE3D325650A8AB"
-    "F930215FDAE4AC89E69430B69E6A18904C6B35D124F88228EA8F9902F3BCB3EA5CA9FDA41B"
-    "C96BC5E6C192ED34D6197C384DFA17A0334C14A0163009240D1B3BD092E209927861E95F3C"
-    "3C8FDFA1D6BE697F99F40E46DA4B78DFE3C4D2F8E09D72A38E4737A4F99ADB7E7F10F9EAE2"
-    "EB7D41CB24A06D5703C03B292B01A0727078880F633ACE9D9DCD6FECEFEF8D363402AD56B2"
-    "082011B85972B6DF961DE9788365B539FD12E2E293B77510512D8C4D53A6FAA58725F094D8"
-    "A700ECFC3D795EB38733364B3AB1CDDA39D88140E2B6E7ECAD2D905A8A879B116110652195"
-    "230D7A89486C5C48A205644202CD23E3D7E0AFD6EFD242E97449A1230CA0061CB91E965431"
-    "53C1A76051725E9A3FBB571DEC780CA7875623244B27F0713D0CA88E664835CDD7EAD2673F"
-    "912E3CAB4402D181BC91E0E56611E131321B3F171A5C076D411F14269CF810A79D5390A70C"
-    "55A0655B0C8D150963175E07D63688DB9D89F27B482AA4D166DF6FC04F5E2CED8E4275729E"
-    "82E83B10C8F2E24614BEFF2D1539EC7EBEA065ECF5E69C11594B5F86EE9BCB5CE0B535BF8A"
-    "755B5FA9B5BE02D2CD221BDBBAB32755916C708CF7F3BB1B8453DBC0A8B60EA8B80E023989"
-    "1B6A27F4842A087C4A92BEF9EF243D9B24A5019E6C435690A4501DD2D2FA66ECD0E15A0E93"
-    "B2942454FBCE4949EC09342CB9DDE9A2BCB777A04A04C1C2F8308FE10E2280A42908D34884"
-    "C31CE67055F7601B536DD79BC4DF3BF9D9D874CE97095B81F7A1CF1A5A19CEC4C77DD177C0"
-    "7952942AE3D1B876798DBE10EE9510A56F89EDCAB22EBB7F8266B6BCF8856E9F0C6FAD9F20"
-    "BA58AB0E986E268B036E99236DBC105590B8143F94A359965E38FE0D7F57D78228FBECA80B"
-    "0800F6128FDF9E0AEDCE4E1278BC9A6F47CDE3E8CF14959779F62FD3FFD7F2F665D5005019"
-    "4A7CE36AADDB5AF577A4948FCD2ACDE21BD3A481D600A005A0DC0368A1FD02C211F66182C3"
-    "2EE7803BC4D9668A7308B2B290939A500DF9B324BBE302CE01B8DDCB99A42C2340CA557A3B"
-    "5D346BED6462A2095C8AC764BB263FE61270D5BBA646B751CBA17FE2BB78216D028F6815DF"
-    "7F434821AAF1780F039B89E4982975618E7396BD29A77BB6BD4272454383F31F1C3DAB87D5"
-    "2947376881F41DB40441EB409EF7466E388D72D01650D814B7AACC69883DF3A5ABD335ADBD"
-    "38BCCD1F41C95E9ECD09F63DB1267BB77CEEADF9C5D7302D545E666AA172CA64CB9D6DF164"
-    "5A138EBCA4D973A66F0DF7F922CD9727F4111C2E55F0B7B826203BF771B29ED2CE24002F9E"
-    "D54C469AA72BAB3BB828DE0F5BF3FC2E700403BD96B309E40B974DCA2BF4DFB5BC75590900"
-    "95DFFCEDDF089F0F0E0EE4B37FECB3BFF699CF7CE6DF7DF4E811D47E31F77F442F27F6856C"
-    "914D7AD5E80C4772A73F3449757C6849A14D30D83F33A884938732175EE2C62E35595D9E21"
-    "95748FAD3E549F1CA382742831548FA00AB722316CF18D19B6F3000E44A00C1834111B3A83"
-    "9ED5CF954F36C470B81DBAD7B044E1DF5DF9FA6B3BE9D61BB3903CC8EB66099F87254BE1EA"
-    "D541ADCFC973C51C12D9A722101F1771557A27306F6392948B4492A0EE0C89313F37CFBA33"
-    "D54036786C6C55C0BC93D4E7AADCACB9ED2066693E490D444BA6452FA4BC1D1281DC409EDF"
-    "2BB3DB8FBF0E8340A217B5C37A4AD80398C99B00AFE70C4D11715241861723C03C675A9C80"
-    "3AC7F4798FCE832D92013E0AA5455714D9AA7E7E71895ED032F675578B6CCA65EAF57B2F2B"
-    "01A0726D6F3F7EB15FA554FDDC199D28E5DEC2299908B47AE6ECC31BA8D0CBEBF8CCFBAD08"
-    "6DAEFCBBD23EC69B30D4D6D1CE69DB939A04D04005070212D6FB4923A94122DD2E1669CFD2"
-    "6D0E942216872B34162CFDB814A3F8EC5EED1E6D1082CC01CC533F8A46100A5232110D624C"
-    "66A58F9DCCA5072C96B6E1F196E78CEB9C3B15E2DFC5001E662621C99FDA4B5EFCBDC73C4B"
-    "B4F9D934962D2A20A8E5719383BE2F517A4E22A039DBA04E29922B69C2624644D3E874B84F"
-    "912746A602C161B226C42338577F7A3F405438610E3B428A913973AECBD91062D82B6BE627"
-    "DAD1224206318249EF41F247C0DACE39B382F68B8894B68C75445C3D3D70230524BA3B914E"
-    "A986F11C1B0326E1BADD94CD17BBA9B8A065ECF976495BB89673CB4A00A87CFB777C47F83C"
-    "BEB055EB6F1E1E1E4E676A07C46E9BB1C50FAB98EDBA249577DC1134289715D71491CEBE3A"
-    "BFE88EB24AB9C97DF71EC26E8BAF4D7273C565DC9CC2E62AE1FEB8C1B4AD872497183198AD"
-    "FE2EBD15489951E2970805688A5108F7AF88F5165303B00A8577FA542296A9BB5E652D035D"
-    "A8A44AEDC68605B838D088FF0F36621BF90488390B1F8BB3EEE068A4A5A2ABBAA08588C4C7"
-    "0324647113742B3BE644694CB91EF1EC8BB5AA8397D020E0044327B7814BD06148C29EF60C"
-    "82AE5A4863EEA06DA405876F85DECC63EF297F35AD097E1F29A222E4E1A7B56A9F0B351463"
-    "568840BA23A3FB2128FA639A289C01314515D93D9E2F635A0F93C4EA2C1DA482CD09BC5248"
-    "ABA56899B701D796F2FB9B8DBC2297A4CCDB72790BCDDC5A7259090095870FEF85CFA3FD76"
-    "1886DFBD79F3E683A10CB7B7B225FB3C2912A166F54DA5940C4049B48A3B9984CC15B083B2"
-    "37BDD9C22DD48EAE0DC54C0E95C4B176294B45F4B8EC30CF5ED1268585930FC1499CF4188A"
-    "F3C62FD04290A4082863DBA74B6D85BBCF23DD1DDAE26685B99A2178E063840B6FAA06D436"
-    "53ED1A967C39ED2C9304E1DF086C16C67FFEA6011EC5AF45873ACE18C836F5147758C39531"
-    "DA51FCB2798874E94C19D41FA812CC3306F6DE26C264CC423B6936C4DB2B7AEB286A0E766C"
-    "5E01BDA1A39B0D5F358D4BE7D762BF0FF1CC034B6B8CE892401F3468E8C2BA551A6202618B"
-    "60E0C01490F252789049D417E894F05F5EF7E27E437C580FFB203890378D96F0E146D14FA2"
-    "9F570923E6B91AA045F9F5B36D6FFAB9D8A5CC446B89C1AFA52B2B01A0727074143ED7C903"
-    "B91C3CB7DDBE5EF6CA6D5739CF52E4D0D9FB9AA442E4C08AA5078E88831F49B55C5C7228EC"
-    "BC451B543E74053BA1018DA07E0E032B7C3D3559D387E0845828B90D3D5B4AB4C313ACD386"
-    "6E80D234089CE0A73D2FF444E348F2F8208A80C6105231EDEAF899367BCC0CC0B1C4F14BCF"
-    "B27F3B3F03348C6578FE6F6BD7A439EA7B52E8EAEED984FB06D0F849E3BF937F9E49C542E1"
-    "89EC5C9958828F7B93DA9B935F18C5A0D510A8A6031D6B2191497FD3DA677F576F9011A224"
-    "4DBB86A1787FC6C373E0A16FCCADFD4EC42D06E07B7DF3AC36A63291D1817AEF0BC0899703"
-    "70468C8C1F8581DF46BE49E836134302F7D9B7C11933C63D84B4D6C9F9D89211D9DE82B5C4"
-    "FE1BCA0445A1A95B50E49903EAAF6DCFCEDE22C4F1629549CBB2D99561D8BD14FDFD20CA4A"
-    "00A8DCBEF954F88CB0B452DE54D1F9A840C321780F1398B7177A1497786341F6C080D8FC20"
-    "97868D3A682FE3FAD9FED8FF2C2D709F14C54BFFF277E4C1FE64AD8398C45B02A181F68152"
-    "15DB58716AD5E02028AE24C083B29D9E6CBEEE796E528F4B981D5748E8E8B89B7508E4BBC1"
-    "9274220A689339EB05D2E68F0A7DA9A03E8950D9F5DE36A587666FFA44C5CE2DDE2C8EBFA7"
-    "4540DEE93CD1C5C025B030B7EDE3D95509D899540ACC05D115C2D742E41D91789A831B4BB2"
-    "DEE479CE6B5BE750CF737A5BF687992225E8C017BC8604EE1CAA2BEE65074F7A5EE703110B"
-    "E9D37B2B9DA828852932788A3F376403E630D6F8EE156A7C6D1945E75750692F88841CCF1B"
-    "DCB9389C51D688C8F84DDD6EBFD88498F396D2852A53C8E8B0D385FDAEE5FCB212002A63CE"
-    "FF5C4E4F4FE5E4E4F4D7AE5DBBFA27B75BB357BB04C2D8642F64E1BD93BD7BE51CD55409FF"
-    "CC7F07A9248886513D4F12E32207704C709C635C14DE3CBDD1F346142F081B925D6FA04D88"
-    "EA698967114509D4A539089201BAF3C667302AAC8A8692A4572FE7B1845F450C6E0B60C243"
-    "1B4B265A5DA8F5B4C9DAC97F2CEC2BF425D1DEDCD9EE692C6348DD0283082442DD3411B8C3"
-    "D2C20A35A4BE3329595613078244F5B8E39DC6EF4C3D609D3672C2848FC1577922D09AF655"
-    "F577262DD830AEF893B510441CE2E4A4B5CEEFAD109957EFCE2855D6C1D7B891D39CAC8B69"
-    "7B17CEDA5A884B13A48F8E86C3007F093BD6F75C20E31C41ADADE168EAE9E1F5B4C8F02F76"
-    "86CB1304584B5D7C77D6727E590900956D3DEBBE3BAB67F2F8F1E1FF73FBD6ADFF50D5EDEF"
-    "167B9EC1B8D0661F94F7A63580AD7DE1EDCE9A00167C39C6599601C59F1A1DC358E25AD076"
-    "4ADCD1AC83A5F936A86B31CC939A361A56494A72100407E053D68ACB969E80965A0291B0C4"
-    "F6A12F0C3C113C21D8DAE69925DB7EC8FCBE30A6CDB26DCE6574219CFD84316529AC8F0030"
-    "7581BD0217B4F5FDD9012C4227E037234AC5278FD577BD8D2F82369B52E9DE4E7BC45A8FEA"
-    "73112EC987E3D85C963838452C2D75D410446E11C7EAAD7C02D8074152AADD40283AAE9D62"
-    "FD9B36C48948152D4393A1ED8A617E670BBDCBC542ECC8A46204C2528087987D7B19B0E8DD"
-    "604144A1E2284F57213051EBA6681C5EA4C2CE6181D37DBFBED9D9BC2A97A48C63BD3D3DEB"
-    "88FA5ADEBAAC0480CAB3CF3CDB7D377BEF0EBF76B6757250C2C6C7EAC6F3E38172340036B0"
-    "9060D8D4F9EC894E9E4CA5502298E8E027B4611AFEC086BD28C951090E7F90B34008602B4D"
-    "4A5D777F7295E9BC112A7C07F2C68B8D31A27EEB00A960CD5ECBF9CD731A641A471732691E"
-    "DEAEA80F6F778A5F3883DE23150CC4A650B826E181C8303077A82EA1ED6AD232A4B865A2B2"
-    "24ED1B1855DBFCE90278E59B944E40E2AE844D50C751B3B4405A47B33F40D4F953FE79267A"
-    "02268269C43282CABECC97C03B1E74AB1BB39E53517406BD677E1BD191A6268F9A25BE2D25"
-    "1C0AF79760E673199A935231B94D51031C1A9049776D2759D2FB85DC02165581FA59279188"
-    "3B36218F290A3FA97CAE2EE47EB8C8854D8F6B79676525005416F6ECE975DA6EEB684BFBDA"
-    "66B3F9F8A82E553B87061288D2164280CE46CB2CB9E12756214AF3F66F9B44498D22093598"
-    "15826E802AB34D44B54FDCE255A1043705DE4C8DD0D84ED70B355E25C6A5B5A9C40C6EDE8D"
-    "28B903DC4BB8324ACE25F793C63D90A46E1223B8740CAEBBBC1B1CF7AE67B737B3B35B05DA"
-    "014ED78E00C8CB73167E254D804BCF4A805E1688C71C7286B626E2E47F6B4F7C0A3B30928E"
-    "C6B02DDA9D705DFFEE1839A4015F32DD5896BB6EA4D021AA23715956F72FBC4BC19192D752"
-    "FBDEDE612375859EE226AB14D9028C77FF9FE02563A06D6D826B46047D5E7A5A9BFD3FF916"
-    "C4681C3AB298DE8FB9EAE8DBD0E6F8572F9B383C11CCF51CE07755560240E5CEDD6F76DFC9"
-    "EC07505FFAE84B9FBF7DFBA98F9F9C9CB819C02E4878AFE22A75682BBB92162AA4D1D9990E"
-    "D8CF1BDBA294C89547D200A734AB874567D25828651B0C7571F39642EFD87200FB3FB52838"
-    "2709BC9899B8F8662E5E33F533F80BB6FB58F11F257F49FA6C9795FBBE74438FBB22C8C7EB"
-    "82BABF9C0788B990C4585D129FB534C943C148564DAD0A64AFD97DCD0C25CB216273F6C98A"
-    "FB220784BDC9EB20E00CE619CE9B401382B9EAF236F03C667D8D4BBB3C86E6215F6CFC693C"
-    "E1E8CAE27A5057155F0CD591DCABF038D3123256BAE6CBC0BC5A0AFE50BFDBD9ED2507012C"
-    "12D20987387C91603E20DA18356ACDF4A0966D90C9D312A1A413154126695ECA94B170F897"
-    "DD02BEE0A5D6ED5BBC836B592A2B01A0728E2FD4A80190E3E3E35F92227FD6BEC3EB8C33F3"
-    "59959F00DB3C8C958FEC668849EA7C100C889D7E19D5ED20E8628149D141E065146E3F426D"
-    "9B24A73820B4B74A59747C7212447E0BC2EA73234211D4ED52A50C7D254892051BAF7F92EE"
-    "057762125842BBA9C9CA35D660D2AFF52B271C6C0259AB3F828E8533CE6DB723023B4F0680"
-    "0E1335D5D47A0E77A36E874801EA8B4BE0ED37D20D67E741F55642EB60201AE098C194E6DC"
-    "CD080E345A52AE79FAAFB6CE625D2DECC39D76C4DE077109BC06DF05EE4F0D6D9C97B2AF08"
-    "93C27192246CF0960FA38443A6D01E28E862040EC6C7E0DA88C6C2AB52A784608D0498B360"
-    "92E6F98D99879B426EA3D81F7365A4F7BB70B042AADFFB2F5F2BAA9FEB2EBAC0256B4FD6F2"
-    "CECA4A00A8E4D3E6AC0C65471E1F3EF9F9D1C9C4CF0437A7A33227E39BBEA593ECF890A0F6"
-    "C2B3A390A83B30B184A82C89B25C6E1B90D5852F9592FE48AC004D618050B4CF6B68CFE370"
-    "266CAB82E747392682246F56C888885E483AA8455CF5CA8E94245DC7BB3318F47265D47EB8"
-    "C41A3CD585C18965617F0A837F571A808E2035500300A92D739F2849CDD60F8DFD830D3CB2"
-    "04EA1B9F0ED8AB2358BAA5A7F8DF649AB0C801489D5DDAE4A40FC11229296B211F4494E45A"
-    "5EEC04E64632541369C51091B6413DAA22122FB143A531B4968ED75ED929DC6D885931BB37"
-    "09027DF53301B074EC8D1A706BA133B58D7058FE8F4C4E65B0F0D996B0971CF326330B2D98"
-    "403878F092093BBD8151E3449F4D3351CB7CD0B088FCE2B63B85EA6297F35ED9B5BC755909"
-    "00956BD7F6BBEF44F092FDCBD3B3ED377676362FCD7E00A64EF44DD470A5D016896427D8D4"
-    "A3FA8FB7DF187B4D2ABE924EFA4BEAC88471DD9ECE9B29A46593F4A89F11F84A2003255618"
-    "6CED8537ABC0333CA3A1D22637DFC41B68DBF84DDB50EC5B0DDEE61C8211D5CD1178B2E738"
-    "F789C3C466E65643C8A2859F8180A8E72248829A6B0108805D75DE3B99B1E467E0E7731601"
-    "BB2B26C677D7C6B937E0470E0B9A2173DCCB1009C2400B82CD208833B08B1BC9F3B1F10660"
-    "A5F3FC383F429F3587118A6BE090213234B67A0E031A23ADB6F292DA2B01282FD9C25FF42D"
-    "6F843D39F4D2590696046818E8FEB66640D98B42B3643E0683750B127B6C1B9E448D557722"
-    "F0F797D751E8DCAC27194AF965D95CB23300C77570B938CF0752560240E5E4C971F79D95D3"
-    "D3D3B31B376EFC8BDB4F3DF5E74F4F4E49ADEE277705B24EA20EA4DCA461089B4DFC81E288"
-    "2998902457282A135694E439DF6F89EDAA9C3E8C36BB04F71E4D00221202B0BBBFD99FC054"
-    "9C9E1BC1231F0C1040048280DC36784EFD9FA568E9DBC0CF0D404A8E70F69963CD7D8BE7EB"
-    "29AE1880DF72006882694AB78B1C02ED48DF5262BB973CFB4DB51FE3FDAD290BE603CC4DB6"
-    "FD6756961302D1DA20B2364F0DCD4521A2C83A928269A48746E934EAA7729F2D14D4FC0BC8"
-    "B1AE35B718F071DB4C826712440DE8A465104B3A58CA5AC5E6008E7A91B63EB3331E3CEDFD"
-    "CA81E6ACD71895EE4F4C0778961FA20487627E914CAB366A1C065F2F5A9CC8A727D1E7B35F"
-    "EA9A74E1CBB0301A6B79BBB212002AC3CEA6FBCE4AA9DB3156F7578AC89F8F0A5081E454C4"
-    "BD80A56D3AA60598ED84836F84A6BA543E0620EAFF0A6CAFBC9BBAAD3C66772FFEEC2C7149"
-    "91B8CDC53684476BDAD0A26B429088C4B65E2306E0289415D011C5DB4FE469A9642D6E0011"
-    "D4A5A1CD180DCAEEA61119BDBB002C09BE1B41B2361378D62AA3BF06FA3484ED78DEE9BF70"
-    "C89A430667D42873BCB78666CC766F9004FA71C1012CF32EFC7F7A06F7D7BA9DCC45F4B3D2"
-    "984D8505281B23C37D34BB796C701F8A1F1824545F1E36CC21931190DA9A0EF4E13E90C4CF"
-    "CB9642140B6BB7EC493AC411538759989D9AD320087AD03018F07BB8250EFBA138FED0C7C1"
-    "D68F135F0B2914F275109A8DE0C0D771360DA6C9420E8069686D1D7F45B47C5E2E53299E0B"
-    "63A500EFAEAC04804A5D480464A5942A078F1EFCC2AD9B37A7B85DECB5C5E55D4049A75E6C"
-    "E955A1956355618FC5220EB47CA4AFABF085100C1747DBAE231C9ED9D7DF7EA110A2BE212C"
-    "71B8CAD72FA7F028729A92E21B97DBDD1B784CF1E0FD31B2240CBE7509E82378F579237DCB"
-    "3A42DF5DDB0207340ED11706A2F98F1A480D4BF374D681C67CF7B3437E75E0565D9CAF9236"
-    "7407700D736C75D8EF213F82D273A7CF35CE15F7AB4800578C69D0AA3061A4F0C239CD4F78"
-    "170263C3182B9125BB86099BF21B111C55F957A1FE41438617C81B6CEB39127277EE2BD626"
-    "5BC3F6AE220287421359CACF449DBF83D6C2926129A4FAC97BA1CE64324710959601D0DA61"
-    "EF8C0A399C36958BF767F6FB613D05CE0CD0F2F9BAF8125FDC32F676B3EC9FB996B7292B01"
-    "A0F2C61B77BBEFAC6CB75BD9D9D9F97F9F7FFE85AF5EB972E513A7676760F45329BEB17076"
-    "C0E8D4A3DD22CD8401D72633006CA7B26C7F977340CFA5226D8E54A67E74C98A4F11EB0C00"
-    "45C2E62FF061F06DCC139624AD88110693A212C7601C859F40D214383F208D83DFD4AE1D00"
-    "2A3E7E24099217065A43A607FB1B5D6CCF1F92F48921698F32C12C78D62F6320B52D49F551"
-    "D86DD275F59E72B33BE0771139D050062F1ABFE885DF870EF2F8703B67873603574C2B1D52"
-    "638E8A0AA0427FA0898944D4CF729881AB3475430121606A44400700A736DB9827DF1097B8"
-    "D55F5060BACA00D59A80303171F5C12B5EDF24E473A8C302EC70EAEB05626D4A342D9108D9"
-    "22D4A0F28BA6435B339E9B236BDAE4CB0BABEFE216956C595DCBBB282B01A0F2CC479EE9BE"
-    "E3727C7CAC8F0E0FFED9D56BD77E40260290360076E621EF5C4F063447192B6D28D8C05231"
-    "09A0D0E6E432943B689D2F32BBDC3397019F7C038DA18B24B82480275027D40E321549F89D"
-    "5A949207B124984D2674835D4AF847ED61808F68B030204176C4DCF487A4105832C0134908"
-    "23DBC68855FDD3C65D6B90D8712F3413A6AC4C9278A6715AE0A310894A1F356097E3709C40"
-    "187C1D687E2649B7AE54499AA5329B1782C35E3AF4C7A6184F3230B64434C86B108FA4B6B9"
-    "0AE404911BBAB0267D7960DACD3F229F8A37E5BEAA8864284247579748984012D4D76269E6"
-    "9F681EB230BC4684D3FBEDAF8D6BF78644B267D3C01C6A3294CDAC191CC9880CC1A421349E"
-    "DE57ABCF86C1FD346CFD95A2BF72A972E114E9D6E35ADE7959090015DD9E6F0298CAF64C4E"
-    "8E8F7F5E557F40D4C0CE254A696140143D34150B0B0268B64D2260175EDA64231E1636BDF6"
-    "5CDEE85D9DEEA895642EDA54DF4A7A89BF1991891BB18530FA130A452C582E027C974D15E6"
-    "E14C1BB36D984E4C04E319BD0453CC7F77B46F0DC4C1A52ADFF483C9C34092DACE0A992065"
-    "9739AF7DB05353DCB988A7CEB7E728F922587B7039343A82715249D7DB7F29A4B1F3CAB7F9"
-    "2ED23FAF2B34B7BECAE0F0587CE0E7B6B06DDFC2EE905CA824722001C89D5C44353E6B43D8"
-    "31333AF69923A5D29A4B2F0BF097C56B331F54928C0B4E09CE075769C851E184885621E6DE"
-    "0F048A5EFBE85329612D0F20F796E8C7341CA5A50456BCEF3C63EC806999ED5827A0CD6F88"
-    "C967FBF74C6AF9C5E579BFB8A5AC28F69ECB3A74549E7BF6B9EE3B2EE36638EC0CBF34A9FF"
-    "1380B857AEBFE80E2A055A6A387B9932DE0E07E18DAC14F2164E1B5D899B26DAB0A86276C3"
-    "BA12F02E43035B48BDF1316491FAC93CA1C53C8B7969739080991A9A84068D869D556052A8"
-    "B07620748CFEEEA5FBDC1BC262AF8F1C26BBFAEDCB4224867A8CB14D870205CCA0E8845232"
-    "90F9184471DEEB89F67B7A805D1EE6CC0941A888D9A0CD566A078D74B834FA6144308F9A8F"
-    "394DB59FF7A7DD35A85C09C884D6B681568A78086DC4B838B10DCA1A1EFFE40C5728D3A2FB"
-    "8A12D9D5F81CAC495BBF986F8A3E31D0A768111B9F6259FCDABB625A311303E63E783F4DD3"
-    "E02464AEBF98F9244B0F183227BB4CB2955F36D15F2DA2DF904B54C2814B6B79D765250054"
-    "FEEF5FFEE7DD775CC697EEE8E8E82BDFF77D7FEA573EFDA94F7FCFC1C101D90EE70B9B1A2E"
-    "80A8BDBC24F68A790539BCA667357D62699B851692764DDDD759A7BB5A4858D2F9917DCC52"
-    "6BB724A95882646F12BDB0045D5C2A04B0B03E99DB672441687327295A4872C23029693A78"
-    "E34D32BFBB909D2FFD7684A9FBCEC1DFECAB4A696545664F775633AB649B731A50A00D9109"
-    "FA3F1B3FA0DA6F9B3D7C144C12E76A430BE858583298E4A9989D0E8D54A698722127BD7603"
-    "7B54CFCF607D013B27F603AB24F963F4A7E43B7E0D1F5463C442EC99D459BC2EC47FF0CEA1"
-    "DF3E9BD6FBD909903C4BAB7BFF43AB151C25D5186CBBC56C0A834BFB639CF9740EFF10DF17"
-    "5801D89787E2082CBB5F218D0891E74244DFE7BF4507599402D70A9624E164CE41E4E7FA95"
-    "7E810B581C93A0B5BC9BB212002ABA7DFB4412A7C727F2F8E0F0E78661F81E568F47679EF3"
-    "5D523D67F8BC734F11059577BED280BF5536B8E39D7B1933108A03FD792F01EC83B4991689"
-    "1F32F88360F8261E54E79A8F460534B4CBFDE4B4C21B9724643212E10D6D7FF98973A125B6"
-    "A14FE3569BF46436E6F3068027405DA52BD249BC26B956062C69E162198D009EDC462620A6"
-    "CA553750ABCF9CA9F58DB880C0A8AF8710D616EAF6A1302212E78B3888F58384F07006418B"
-    "8098D5DFC31C9247DA875258E7AD04FE29F48FF92E7BEAAB457FF4673248EA93ABF0ADF103"
-    "BCDE6DDE4B3B8D91D7BC69C78C44D99A747230602D8A38C84FDF0DB3F7BD1DC295B2000452"
-    "9F730D70B1289278D640330DB497AF5242A0390740094204B40F14ED83C3C1106A2CEEA8D8"
-    "F69199AB6C7EF65C427A018B3647DDA2BCC8D7F26ECA4A00A8FCA14F7F7BF75D2E6312A0B3"
-    "33FD998383831F195A084F7712304BC9F897748EB60D553AF58F4D07D045DAF1A1ED3B2D24"
-    "052775333DDC12F7108EB444AA26FD518317741085FEC3B2ABABFF5DE5AC4D2B11CE7A4FC9"
-    "624C9A170B69E24D5FF9B9C138823E75E44184407CDE55119A472D76BF88A6C267A73478DB"
-    "C7C1F3DC09A40EE671E16994BEF90000200049444154F6910603CF615B3D017000639670D9"
-    "66C1EAE8A0960F823D08134BE66261FCCC0EE270D038B2694489BCF96F4167C18E67542DC6"
-    "CBD6928197ABA97C9E89481A99615F10620E74E540E486E6CBE69D6CE0E65B83F78266ADB4"
-    "D109BFABA7FA9D9C27C73F860163524202A18277122411F9212C15B88634C2C20706E158EE"
-    "39A9CFACF1E054D8769F2F16989430BC7D1E0BA1CF9B9DCDEF6F86CDAF9EA397B970651CBB"
-    "F18C96590818E49274FB032F2B01A072E5EA6EF75D2E7BFB3BE326F02BC7C7C7BF7E757FFF"
-    "B367DB6D7823CD5E3CE39CB6B3FD05AE77F1E5D5499219A60DC04F040BDEC5ADB8B3613B70"
-    "84251DAF2EFC91E418FA94D832139805325D246E9C5284C88DE25C83F962766E24F2434808"
-    "DB657A6BB5DD8F186D8D9784BC01B4F96F09880328047BB3F76F521870D61BF2522FDD5885"
-    "81153B0E7AFE1055FBE18EE98B1A3E1B49307F00F6D00FCFC03DDC57EDBF8343A1A63B637B"
-    "70763FF92A4467BD25D2E563C9CFF027599D3E516EE5A2C439612D50E21D76EA2BD41FE891"
-    "662D0CF7C71C2C4DDB5699CC5031AF7FDCA98393E34665914E1A6BBDC07FC5A828D2009156"
-    "6624FDB8DE720DA81DFE632F07AD3D76962946F23D3477F4FE8F0284FABBCF04DADA2296F4"
-    "A88D7151D9BFB22F6FBE79E71F7FE3D557656F6F4F2E43194F657DEEB9E7E4E32FBD2427F5"
-    "F452F4F95B5156024065F30ED448E3CB7B74FC643403FCECF51B373EABE610D8D08563E4B1"
-    "852430E7CD45C4D5A5C2026E77F80E81CD1296D377195639352F5FE37B1F4980494C0AEE8D"
-    "45927F833B39315E875CEAAD4E06815E4AA7E706A611461E0E6725850E420B63DB7BBA3D78"
-    "F62FF8418633F1B34980BE0AFA09AB90F209CC8EF9012209480D8109F4D1E565500EF3458D"
-    "E61C06D3D8DA01461A2E0EF70597045B8385FB2218431B67CB5068991D49EF80F616F61750"
-    "9262E1F0467DA0B5C6EB67185A3401C8464C72C364C41658382D99884164A902B919EF256B"
-    "8AA0861F401960B67235182E071920926B6AE8A96925B79AC30A11570862EC9143E2EF2938"
-    "D168E7F0774EED7EE5F62888EBE3C787FFE4E4F8C9C29B7EF1CA48C20E0E1ECAFEFEBE6C36"
-    "3B222B0178CF652500540E1E3FEEBE5B2A27C72772FFC1C3FFFD23CF3DFB83EEB94F1929E0"
-    "A55BE2FB6A45D317D9914E24485021D18784FDB3038B5CB52C6E09297EDFECE1E2B64811FA"
-    "9EBCDB957ECFC4C254E69691CF1CB52C5C72DEE0B9F1EC84C6EC814C2800DC8A26B174550D"
-    "BC0752392F8C891D658B67C67C4A04ED12EB38C7D9CDEDDBEDB3F2F1BCAEC205C09204ED0E"
-    "7E4AE31881B3AA8F03084C98F0061E95234BA8BF4C56082DCD7E0FF5BBA2AAE99A2AA659A0"
-    "239D2BCD0BAF521BBFCA6D721536A0B7A1A556F5B50CC63213189F3327243C832C146B204B"
-    "964FC2A6ABB5B391F141A813C592E648B4E9EB6C98575FD82198D7C9BA829973FF743E80C7"
-    "170EF4F64AC4B9444120F9D3B44514176DE1BEB34985B2776C3672F4F8E8AB577676FFCF6F"
-    "FBE84BE73AF95EA43212806BFBFB52CB2097ECD0C30FBCAC0480CA37DF78ADFB6EA99C9D9D"
-    "C98347F77EF9A31F7DE1B5EB376EBC787A7ACAA22F49F869C320B0E56279C5CD1EE89799FA"
-    "51A363D182BD5BE89BAE04C761A708D189B18F10F0EF69C32535BB37C77FF3A37DFDB01F00"
-    "3919C2E774AB51424442BFCA1A9308C0FE68B7EF47608C61636C0608B525C7E1220C2A5E9F"
-    "8D5655C51CD90F3144CE7FABEA217CACF6EFFE36A0E0587B9E517B140E868959CF68387B49"
-    "BB8D71E5FEDA9FC9BC629F0DFCBD7E058047C193A22DD4C74929B2C3A4592327201D360BE4"
-    "B0A0D562F62B54EBD139D3257C4020AE199D354D322EA1F7F35C548F0808ABC97272B81739"
-    "BCF8DB580CD06E8C497B9A56823CFF992BF7EF526B4E211B3FDD67FD98B8476B9FAFE75E70"
-    "E81D70E77F37B291ADD49FD34175B339FF2C938B54C67E6E1F6DA56C860503D05ADE4D5909"
-    "00951BB76E76DF2D95F165DC6ECF4E4ECFCEBE52CAF0A2871589A718A5585DA84C17368CF6"
-    "8954AF151B86B64D2D3A15A7059F367FDBF6494C6F366E4FDE82CDCB4289B80D413B408E8C"
-    "2241B2D766F385C5A0DDE3CE4BE4AEC8A8C55A05A57B68283CC4507A69D0889179FD5BFF49"
-    "0F6DB7573540F34C6D35FB4076A686244D376098FB9FD4FC0948610E30340C756BA84F5121"
-    "A7CA55F818988600A4026399FC00CCFF8E33EA21AF40CC2FE164C8F052F12C0376B045529B"
-    "5B6D614CDB0157CC194D5B65F9014CDA0F2481C01923136C360A85C2608E7FC1A443512506"
-    "DC26698B3B09064267D76B7A3611BAD98BDE7FB3F7B6609C6C0DB5F1C151C09C562BF7AC84"
-    "674CE940E05C188FF806A1C1F9198AF73F3BE680C74F0E88455E7DEDD59F79F8F0E1A5B0FF"
-    "8F63B4D9993328EEEFEC7523BE967757560240E5234F3FDF7D775E79F2E4584E4E4E7FA614"
-    "F96E8D8A514029ABB807DA84017041FDEBF67093448C3BB0739440FDDCEEA7F8F9D2249790"
-    "3B3D9C62665F723BDBDF10F31C7C39B6DF719853124B3A63DEC123F689C553E5263888770D"
-    "32C977C129301BB417F6005714781A1868AA2DBB628BB080735ABC9342D9582B6012BDD326"
-    "E4EEE708006BE6C251BE006BA8E45D9A56060C939DC94971B19F0680CA73E124C2E78C0887"
-    "D2A146CA94B104821334173C3A399BA256CCB52B5234E49DE47BADBF2EEA7ADBAD0550EEF2"
-    "65DC307192E1EF4A04F6C512D67FD61F09A4705F5774D68565E7ABCDCC300C4E38C668820D"
-    "691A12E180D73F8DB39BC95CC3A4DEB8A4CF88C3359290B3EDD92BD7F6AFFDF4A6ECCA6643"
-    "9A860B5A46E9FFF8C991DC7FF040AE5FBF75E1FBFBAD2E2B01A0B2B3FBCE556857872BF2E4"
-    "C9D14F1E1F1FFFF501894104406009440AE51DCF19C96C7377396B689B71732C0A2A794E60"
-    "62084DCE60E433C0D2F75B6D842CF99BA423266399E3979DAC66DA074846669AF0FDD8DD20"
-    "0C399A34C6EA5B93E0D98CA171878F922A017D92EA70CD4217392CAF98398223315C3110FC"
-    "CB02E99008E80E44D4B24EC54F800976461EFB006B03C008FE78C8823942683CE010496003"
-    "200903C463ADDDDF85B552894B8536D13CB80D7F2E5382A404FE3E4AFC398EA5B016A94AD0"
-    "28CDDCA9927600AC34CE41CB0511CD49159EF9D68F48562C12C16C4ECD43BF16CFCD315D38"
-    "6BE38AB837BFB5DDDE0968048AC5F9CFE33F143F7B638009A2D7C89830A0D5422369A4ECFD"
-    "5227E1203D6D9E77377BFFCB8BCF7FF474D80CDDBB71D1CA3856C3B0917BF7EFC8C3834752"
-    "A708ACB5BC9FB212002AF7EEDDEBBE3BAF8C2FDBE9D9E9EFDC7EEAF62F3CF5D4537FFAF8C9"
-    "B1ABBAED183929B46139D04607C1EA8058DCFBB94B2A82703B3E4A971BE72AD16435A7ADF8"
-    "1C5199249D09244D7DDBD4D426C9C6F046DA149532BFB1C63E98386C53F7CFF1377532107E"
-    "F196D5850D0EA4824C11AC2060A7AB789FCBC4C8B5A01EBED617C5E96D95005ADBE13F1A1A"
-    "64A6003789301C2A9E1FC13C92A0D85649F50B698FCCC9AF9F77FF3CAFA7A82128094C0BB7"
-    "4518FC0B324FB2341F3DE699C751D4808D8738E8F93A68C01B744A3EDF29B4817F7132A3C2"
-    "CC93E67C80096520121408CE7458103FD169BA745A3D26F2E2EFAF39484ED9BE07AA8BFE52"
-    "3AF9AF090B3611F0B360A25B6CC17355BC067402C2F1DEAF7FE5EB3F75727C7629A4FFD1E1"
-    "EFEAFE55B976F3EA1439B2E44FB59677575602406572E67B17E5E8F191DCBD73F7A79E79FA"
-    "993F1D9DBA045EEF63284FC8EF4D0668DBDF2C02006A4C426593486DDB9D7F2E90D2E39EBF"
-    "045C25FC6B720CE848F712713A540992557125013DB320D7396DCDDE5F6A60DC16491AF4CA"
-    "7C0B8663D67C4D8D1D8D04A83DA7901A7C7E98E756E0510DCE562469070251180C1DB85815"
-    "8F396787B640B8882868AEAF9E0FFAEAD2BC0849C5B14AEF1B3BA6A56177206E6A7ECA77AF"
-    "26B94A0A4F0C8541B0B4C39622182BAF8B60727035366701CC9A9D68E1F1F1EE0B9FB341F5"
-    "D310CCAAF87159569088AC834B4B0ECA0276142CB59DDF11C6D5432747309A347FACC66FEF"
-    "F6406B832334DCA4D6FE190A06C87C3C7C4DE6F79B48B6691BB6F5B78F8E8F7E617B762A83"
-    "5E7C07C0B1EF678F4F65777F87F231ACE5FD94950050B9B67FADFBEEADCAEE666FF405F827"
-    "2727273F3A3372CF2C57119E34BEDD83CCA77D16DA3439C21EB739894810191CEF44DC06CB"
-    "CE42BCBD65FD2B3D22782362FF3775A3ED86063E6C3F76202EE4CCE48013257E971587F41D"
-    "353385D941BAC2A64BE23D5DD5E383DBD4C33905943BA004E9770E210478F0813C90689384"
-    "DE49FA460CCAE2F5D05CD706F809DC4A0B916449593A10CE017E2E35B60F48174D13ECE718"
-    "100162C1D2C7D56117D2793F4D704A5372F0845740C4A9B998B36497D241038101F12A74D0"
-    "10DD604EA84ED9EC677B83A27DDC136BD950901F05EEE0D174131492F6E810D4F46A3E7F21"
-    "12A7F900140B1274523F6B1DCC91B70445C67CF4EF5C87696506F2B151731E16E9C83993A2"
-    "91806CB7DB9FFEF8A73E31D9C59709D3C52AA3F3DFF1E1B11C1E1C78F8EF5ADE5759090095"
-    "878FEE77DFBD5DB97BF79B2F3FF3CCD3FFF8631FFBD89F7B7C78E84E4900C6B6F134A72127"
-    "022EB9286D1C9ED0461600817612B237B244E5CE658B0A7FDC1B48074B748540913DF4D5EF"
-    "335867F28164257846B2DD26721381C040DFCC21FEBD932A4216F1F1E3BE843E938D3D1FFD"
-    "0B29117B2CD9F3D5C15018CC85C609D2B98A7BF2532300E6649221C20069BBF8337D50BD7E"
-    "046FB416A20D068A96A8097D6D8F347B32AA270A9148514F6CDC9384C903F7DF9D143DBCDE"
-    "EFC52FF35FA61D49CE8D21B35D93EC59B3002C66DB7838F4DFC800122104FB3A6600E6367E"
-    "3FC49D0EEC7DC498D3DB44B6FE79608B73676349C54D0D26BD7BD86C69C102A6A9D9886EC7"
-    "1345C9EF65289EF301FF61D2CB66C436625565B3BB2B3B7BBB3F79B63D1B350172D1CB380F"
-    "67A767F2644C76544AE6466B798F65250054DEAD09602C27A727F2C61B6FFCC3975E7AE9CF"
-    "C9501699384BD0F38E3890631D9905C4A56A465C6CF0A69524E0CBEF810136E76CEF5B944A"
-    "0B497219C9EA7222D0275A27294DC4B50AE4441762AF494B5DD21841259D8F61618974A117"
-    "BC0974521354C4D486A07F714D4A50A9B3A405C9B98D22F66D05F6B3A39F722DF69DCEEA62"
-    "13EFD0CE68BF2069D90997372339E3390F990FB2A935023AEBC4E9623C89C80D6620A8F597"
-    "7EAFF49D016499D3E7B3C623CC079188C05DF37BE23FC299D09206A1BDC44241F6BC9D3894"
-    "AA910237A9C53C17A6422F9241246AE632B9B4F7D423711AA968390C70C00F6903267DD938"
-    "40D5DA515DBB651A85A00173731AE67BF030DCA9C7A5C8DEDEAE3C7AF4F057BFF1EAABBFB6"
-    "B37339B6F0ED762B376EDE90DB379E7A4787B6ADE59D95950050F9C37FE4ED0F03CA657C51"
-    "B7DBB3FFF1F0F0F06FECEEECFC1B67754BF9EF19DCC5B7179232077358B24D183B8E81051B"
-    "22D5F69B10BE04792D88E724A0B2404E42646407CD6C0156617051A0AAE68ADD3991243F60"
-    "8D49B85DFC5B9066F035F0D5BCB1BDB29EE8A76F309609FB030846FE004FFC66CB05E8E066"
-    "1B0FA10C868ABE9AB4D8A2FFA67E9AF6A622AC4F9BF4EE836EE0597DA092E4CDED23B211BB"
-    "EBD790346FDFB1BADBEE37700EDAA6301E15D7829CE0E85AEF8313191FD411A8AB50B40511"
-    "8CAA4AF3E852B8F2B5BE8482198727AD44A617D60D738B82CC3D83217E17018015C4E18306"
-    "EE65C0180E20BEE8A9BF73BCD88DAC9169CE88D9F8EED6CA5101AEAD7387C130BB14E16344"
-    "A272E5D3B34755F8E993935F7A74E7BE5CD9DFEF6AB988E5F4E444B667671301E8F784B5BC"
-    "D7B212002A77EEBCD17DF77665DC5C0E0E0F647777F3539FFAC4277FF8F4F090E27D4B0226"
-    "45489A79DA4FC78392B86ED2238EB93599A2F0061A374690000EA19288952CE5F239E6ED1B"
-    "DFEB10AE570218048995B3FFB5E297D0569F90DE2563CB2E9754DFF068EF4B068C22740230"
-    "9D51E0F66192E902097100AF410D1EF3DA9B8499A55AEE16B2E31337B01F2BEE27713D8379"
-    "10E5DB9795C886CD294BFF793E49FD6C752DF92EB033DA8C9CD51789DA2AA0D1B594CE4620"
-    "4425EFBCEEC448CC533574C8C6B726274091DEFCA06887A4EF6D92352C6A8B7E2876D223DD"
-    "A8830F12B405648C371F16114F1BCC63856B6B69B67E6FB39D04C82458D1776A1F16058F69"
-    "730B6A646A202D009B1F8AF918F0815393C5619872909CD5EDFFFAB16FFBB80C97C0FB5FDB"
-    "790D677A3665615DCB0757560240E5E0D1A3EEBB77528E8F8FE5F5D75EFF471F7DF1A51F9E"
-    "1D72DC96CD581B00A994F079DE5848FDAE01896033B52C720E5A43275573BE812C08475610"
-    "D59CD8AA28EF3F4B4F7C8009367D647E73E9A613FA13A61722103321A290A865F504C882F9"
-    "BB55CA2B6023132205C8CF021B2A4898FDAB344F6D73A7A376F16C036068F663063E7752D3"
-    "20C1AAD035A82B4AB7B80BC4C17C14A24921D44960AA2294CEB6620CF15CD29C8FF667BFCF"
-    "33F6615CC86C505590DCC71EC45116517AAF780C876A664D0324FCA0FA9034DAAE118AC999"
-    "3C83A53D1FE44238ACD64C6004B8A691534FCB8BD6A7F56F923F4C2A01A4FD74CB3926DDB3"
-    "F719B11FA6EF075F274D809F62D64B99C3F5688DF3788100253F067E1586E918DCEDE74ECF"
-    "CEFEF954AF5E7C75F8389E4F8E8FA5EA566EDE1CB52A6BFCFF0755560240E5E68D77960A78"
-    "E9BEE3E3E3DF7AF4E8E1CF3CFDF4D3DF7FF4E4099C7F5C954F6AC72E418919941DB87C538A"
-    "0CC20549CF851E728DE7BBCFF196315531EB104A93FAFC3B6FBF14270353C6B3E2B1F306E5"
-    "01E8101E45DF363B45704A83D4AFB32924A85C9D54D84ECD5261A1F18494DAC80040B4781D"
-    "AC9A36C252A1D1F0619EEAD0D41B76A6E310410BEF235073B0F64A6DDE202BE35A56802848"
-    "9534A9B57679F73580A0B7B0067F86E83F114F3C44EBD03C566F5748DB45C9AC0112949E4A"
-    "635293368095399E27823A5E789DF8A01400A3FB9E808C581E7C96D8B917ED1DC23C5210AD"
-    "6BD1987CBB146FB12A0311DDA005B3A7E03D704D01DE9BD124388508CEA46C94F4C70463E3"
-    "D9F5433BB3405540F6FDDC0B027D8EC8C16CCDBE1E57F7F7E5C1D1D17F3B4AC29721F5EF08"
-    "FE27A7A772B63D95DDDDDD4415D7F27ECB4A00A8EC5C79EFC331AAA7EE3FBCFFDF3DFDF433"
-    "DF1F3D881432B9C4D73C4AE3AC56071696704928D81B9C60D826E4CE60FC889885ACCBC74E"
-    "6F56544752B64203230BA98A61EC00523C36BFAD4D14F76447952A885103215F3FDD1F9DF9"
-    "3C214B6532656009FCD000C6428054585D4F0F32A918F704709FC146F3A089D709A2A6CA1F"
-    "50AF0A39432AA8482033DC77685E58E0630D7CB58C7C714ECC37C1D5EB39CA823CF4515993"
-    "A0395D31BCE90B45664452E764AD0DB039ACB0292249B5215574D362F00146711066D5FE34"
-    "14AA7EF8169FA950CCF37F007D86677E0A038CEBC84D39768010CC0A940DD05F692658B476"
-    "E99D97A6D51B876BD4160CB63E89389BA600EF0F29FEA8A68970EF8ECE7F0707475FF9CA57"
-    "7EF2EC747B2992FF8CCE7F57AF5D959D4B72D0D1875D560240E5F7BFF4E5EEBB775AC685FA"
-    "E5AF7CEDBFBF7DF3D65F7BF623CF7EF6F1D151F40180084879C5C537F12CA89BDDD38E3A0D"
-    "47EC2E4999B031C63CE9B483D85EDDA9E44538D4C97745F61BA04BC3F903768F014894A4A3"
-    "B6832557957E73B73F547C03C743435FA3C75F55EFDF2C75D6700F484BC8BBDFE001260102"
-    "916E1EBCCDAEC177AFF8EC550FA8D7D46FD22274068E60BBAF685B949AA306840751B14E62"
-    "9B7C1EFB3309BAC1A74801E31A39C200E3C7044612D9CC923E93195710501D8A4C834EAF3C"
-    "B48F8D4B059E7F4650442CD50F65236A6338D73FE0901F4EB13BC4762B5E93B6C80B7D1EC7"
-    "60088E82F6CE44023CB7CB24FDD9BFD7C9019F841DD6B20CD12C62249DA283C6327AFCBF79"
-    "E7CD1FBF7BF7DEEB57AE5CE966F12296715F1DD5FFCF3FFBECA5E8EF875D560240E585679F"
-    "EBBE7BA76572063C3890FBF71FFCFDE79E7BFEBFCA9B84EF8DBE81DA9721931849E91CE32C"
-    "6A6A4593324BD8AC59EA08FB483E49ACB2C391EFA54DA8A1B6767EFF50872A24AB08CD1AB7"
-    "43983CD0DF4A36FEF3341B9C9085BE0B271CB64D117E106DD3B614BD8E191442466A7A4D79"
-    "055D6B2009EC7CCEA0029FC020910BF2B667F17F6A0E87E60532A05477F2E40760D3D831A9"
-    "605F0348D875F67EE7A3854D5D0E9F3F72A4844F04E57C30C9BEA9AE89AAC1898F786CB067"
-    "D8F74B9C71D24CD151D9CA0E929477DF9C0E2348A6037428CE7E16CE6358AAFD39B4B8BC62"
-    "5CADC4675ADAED6A9138EA273472182EB466445E9D20AB6CCAD0D6B977DC56E9B6F2C15FEC"
-    "6C593C3AA753732402440E88474747B2BBB3F313DFF527FEF8B9A6BD8B56767776E52B5FF9"
-    "9A8C66D55103B2960FB6AC0480CAB8D8DE4F197D01EEDEB9F38F1E3EFFFCDFDCBB72E5E9ED"
-    "745885DB1BA1518497727BD8A4DD2A9448A460930E805F92D465400E2FE2D8F8E070868D8C"
-    "9CF628B10F3CDE495A728242129D309B61BBB4D9AD79AF53FCCB9A086A7E57343965C1AE4D"
-    "BE110618F30649E6894C4000ECEC34A768A7B6410E9BB7399605F53F03B424893DAAE6F977"
-    "47456A170E05EAC7D5C2F178EE6072C8D1004AF519ACD4446CE8943AD0336B1FA45EEF8B62"
-    "AE0953E17027CB8750F15412F1B175608362F0CCC42A10C4E0FB42CE82F45D49C7171BA9B4"
-    "94BCDDCC375BBB3956FAB84878D7A2E988020026ED814013376B0D5CE3C5CE7E46AAB56533"
-    "1C7FC3A142296787C214C3AD4EE7FDDBBB60C7030FA3345CFFA7CDB0F3BB458773DF9F8B54"
-    "C6313C3D399DF2B3AC26806F4D59090095078F1E74DFBDDB72787878FFA58FBDF44F3FFEF1"
-    "4FFCC58383C3E0F13E1596E271A0884E1289CBD32459370FEFA98E8A9CA44185C87B01B6B2"
-    "E082DD3CC4DBDF1C5E186CB183DB4C39689C3F065343F1E71B318134A7DE1E216027B8EB4D"
-    "0E0B9A12DF184B93BE81B2941AB67A050D1D664FF9E844C0B66693D619583BB34A92C05DB5"
-    "50F137A4F2E2218C4B527C9CA9789DDBD96106A736E7F1A036805B558076D01A98EA590831"
-    "115FAE4D9F61D7B9C4AB21E90F49BE38E4C7DB04D2D0A23972E246AEA38AFB7CB03A5C2CDF"
-    "021F3CC5D459DBFBA10306C54F9D24BB7B0B9393E6583AB5AECEDEFA46564750294DC33139"
-    "E2B1632E85E84D367B03788BB6111FA77CCC7581DA7F7E5F4747C00D4BFF4D8B326BF106E4"
-    "9F68CBB199AE5CFBC1AFE8DCBE8D9C1C3FFE6F4E8E4F2E45E8DF5CCAD4D7B75218AEE5FD95"
-    "950050F9C833CF77DFBDDB72FDDAB19C1C6F7FFEECECEC2F4212B4CD8C364548F9337A40FD"
-    "3F98F3543B67BCA17E70EC6349DF34DC0221BB491366E3B64D8BBC986159A00DAC925ADB9B"
-    "1A55F831D14B3428E71CEED66B21D9ACA72A6EE28439812544E5CE92144CE44659CDDFB66A"
-    "564947B0D5308EA68E26713DDAD609A0313612BF9B1DE02AEE61CEB5443E0C98421D4C8BCC"
-    "44A16EE2F06B0AF5D7AE9F11370092B29A1AD98A7CBD00BC15CBC363D67D3E943A03D53BBC"
-    "F2F10B6926A4650614223471D67D499AE3601BD52AEEEFB23088855443E4B80F67BC794D97"
-    "748AA6025CFDBB18833F45B498D6AB11B951A350482391CFC3F077A7340D821303017F615F"
-    "9FF9FB09B8E11712A5FDDE2FC7A77D4CFC73727AF2B9870F1FFC1F201997A11491ABD7AEAF"
-    "07FF7C0BCB4A00A8DCBD7BB7FBEEDD96313CE7F0F0E01F3EFFC2B37F637F7FFFA3C727C762"
-    "A2454A74EB214BC5373893044A9310904EB544D0466C73E1BDE73CBD8097804BEA9BBD4994"
-    "B07FABC753032862F3DBF7F603DB3A35D89BFD61AD102F89E0EF52AC4952906195F980834E"
-    "9505C7486645C9C1CE9DD214B66106F8A8EAF74605F0AF0E5450E322B18E4BDFC1AECF84C2"
-    "3CD2D56DE2AE35A8684D2425314BDE6CBF6EE02E432406F04E732065534F55154DD360DA93"
-    "865D89CCC53109DA08CAEA27960780788BF3A9E85322E447328B78EEE4377D4FD103EC1E08"
-    "35BC8D316BB0480B80353079F0539E8AD925BF9946D89741DBD1001B6808A4A9A135ADB1D2"
-    "C698D762AFE9C37FDC0D87D765E5138CFB705D37FBE9E4FCF7F557BEF113AFBDFE4DD9DFBF"
-    "F8CE7F66827BEAD62DB9756BC7876D2D1F7859090095A79FB9D57DF76ECBF8223F7EFCF8C9"
-    "1B6FBEF19F7DEA939FFA51AD96EE57DC76CAF66C6429F30771367E0DD20FDB2A4D32B20DDF"
-    "A4ED3E9108DB4507AAC6240FE03687148A7467E347E7B298B780377D6F795F0208F88366C7"
-    "3373F4CB590FD51FE1D2A78BAE0E985CF26143CD07D1B42310DAC9AF9D55F8B9AEF048F2F0"
-    "174746CDFDD73857B69169B5F0438E248800C2E4A1E610BB76AF819C3FCBB504A1F5E4DD6F"
-    "64C454F98A6759929B3A8FCDE2F471F887425B042747BA26DC0ED295895A985033F2CC7F13"
-    "D169BE8D2DE14ED06B39716EF598B4A866BFE7043E6D043DB976036F33AD8DDA99A1B614CE"
-    "9E7DB3500E0C8BEF67FF05BCDFACD5620D8FDBE59C3098DAC5AE4D69B3EDD9A336E2F4F4E4"
-    "8BD7AF5DFF894F7DE21397421ADE1DA31DEEDD9B12AC5D1A6DC7BFA6B212002A878F0EBBEF"
-    "DE4B199DFF5EFEFD977FE2A9DB4FFDD51B376E7EDBC9C97108093469B79207FBBC990C3145"
-    "AED019E0EC042FAE0637105B942218FC0D7C42157C0543B39FB9DEC16A023D9700F9A9E797"
-    "100AD5ECCDAEBE8EA9E3B2177C21D050A87523D0D776108CB5A593C6C5D5F08E240EA430B3"
-    "10E89B5A9EB00A7056D904D1FC2C1CCC15A9DC0D855993609FB3BFC376DB0EEC05B892D04B"
-    "6DA28122F386CF036B42306E6D6D6DC76C6AE60F50D4330FAA3FD3CD1C99D0D58EB0B4C190"
-    "D4ACB47616D647BBCF33F911A1327CF4E00402FE949CA769A1408C4D0B60984CBE2C62592E"
-    "2DD746BBCFC1D5EA6D0484499591777220B4353614096182460C586BA72D6203393BA0614B"
-    "59095BDB475F847BF7EEFFDDB3B32A57F6F63A727711CB6618A6844767A727FD7A59CB075A"
-    "560240E5E17B4C059CCBF8A2DF7FF0E0F4956F7CE3C7BFEBBBBEF33F3D9E8EB09416EF3B6F"
-    "16DD0127ED385C537DB36ED6C2938440ABD086E2D598BAB4824C902F1FAE91763889A6CDC9"
-    "F7FB2CC2F9F70CD60650F01B8016E22D4A071C8E6CAC10C8C6034FE8637D9779E366757C52"
-    "D506153C03200D3BE9A8B1D968BA47DAF33D6D2BFB1090094012D9B07D5DE1B287EB4110AC"
-    "E3CD53BFA6A37CADC351C5BF80AE4105ED806E7676B1C39E002E2DF363F2608F842481B649"
-    "AB697EDC1C914867CF544C6903B2A314C921380E3B111E5F7D6E512FEE30083399A5F9695A"
-    "134BBCC3A17693F665B3F1303B1C356CCAA724D943833090DF4E7C9F3877C0D976DB9C0E55"
-    "B667B3FDDED6B9AF3E4F47E4AEB99E7D92FD0F54E5ABA7B5FE83D3EDA99C1D5FFC14B863DF"
-    "60E773E100002000494441549F9C1CCB932727ABEDFF43282B01A072FBF67B4B05BC54AE5D"
-    "DB9707F7EFFDFD87F71FFCD0EEEEEE53A36F40A1237519ACA70DB0ED7438EDCF5405D8C45A"
-    "099B6F76ADB74D5F20936B732C3468B3B8E91A0E7277C02B85DA478F61F08114E50222001A"
-    "25D9A1678FECA49218BDB09B131D6455CA36E87D7635BD2750822C4D2AE7960CA85A3639F6"
-    "00D39845CF9B16EA70A08DD2EF12282A69609834996620FC5D3875309DAA679A00F67FE039"
-    "69E316C636F090A84150009B5F5C013929478038CA80F074C4C2099239DAD9B30D76399F3D"
-    "6B8D6CE5321170B397C0D9D1482AF20058DF9828DB5A02283790C460CDCE7806C6859E07C5"
-    "92F9078884508B49926F1A032618588FA47AE3EC1BEEB4384CA03F6A55748A2ED89DDE2FF3"
-    "1F90998EDB04636E0BD8B9AD278F101AFFDDDDD9933B6FBEF95F3FB87B6FBB774962E0C7F1"
-    "BB7EEB96ECECEEC8D9D949F7FB5A3ED8B212002A37AEBF7F1F002E4F9E3CB9FBE0C1C31F7B"
-    "F1A32FFEB5319615928BF41B6D216054FFB36D6A85E2E34DA5ABF33900B8AEB89A73BE1B68"
-    "EBC7B2BAFA524CCD4D1EF53009D81E6CE1585A025E09A0D625A5A89AD4A8B66D366265502F"
-    "169A55C949CE03A60BA467661951BA379264646ABC666B5EF1A65A2D4C549C148198A887D0"
-    "4DEAFCDAC6B45823D80721DAFE554DED0FFAD2694010835F29D4CFFA50FD2861F30DB052C3"
-    "813FC62C66425371725FF4158019C3FA202E25B3206F6AE8BC5290837F0188D19690B8683E"
-    "9F9EACFB6D6D4A237702F24A9C259104A5EF0B5D559A3ADDB562485E451A106DC0AFB626D5"
-    "92E7508BB61EF2470C790668CAB688B300064B79AC786EB14442B4A6ED99657222D834DF0E"
-    "0F2BCC0E843C5F083F145E624492AAC866B3233B3BBBFF6CCCF93FE6C1BFE8651836F2F8F0"
-    "400E1F1DC8DED5EB17BEBF7F10CA4A00A85CBD7AB5FBEEFD9431B1D0E3A3A31FAD5AFFF230"
-    "0C57C98D7AFEB760DB8A7AFA560A6F188481C1539F33F495AC1170294DC481788E3C20305A"
-    "52DBE20442539386A079476889E0000427B04512A3A06A9E77B9DAF4E4F3A68B2DD51DEDA8"
-    "236C0F2FA4FE475295006A35DCEF3E0011384505E7D9BB2926025F5465A7B1F4CECF4F55B3"
-    "85BBD6821D19A1A5A90CCA14D6C8EB838A4245AC0EA0CC140DF239C7BC5480624DCE84EC2F"
-    "60C412E688EC3BE18AAB48064AD312B12ADDDACAFE007E3369497C0D66695F9BFDBCD68AB5"
-    "B26971F69EFF5F1B28D37A9AD4FB03C6DC007E06FFA1F92ECC2680A18BA8F171D3D13D6270"
-    "326C24A59AF9ADCE270779E85E01C11B55FE530E00442264F38CB5B9CD58CAD4696331EE45"
-    "0F1EDCFFA7F71F3EFC95ABD7AF5D78DB7F99CC276772F3A9DBD3581E9FAEC7FE7E18652500"
-    "54FEEEDFFB3BDD77EFA78C8BFAAB5FFDDA6B7FE1DFFF0B3FF2037FE92FFD1777EEDC21699B"
-    "12ECB8FC2226C79940CC3A5325A00805898218F939432027315992E8E21E640F77185B0028"
-    "52F9339842371C6A736036291BCD9442D50FF3B5E7259391B89906E73ACB9F8F843CA5EB6F"
-    "766084F4DFA9B0A34900B27DAA47592B80F8FEE6BC57533220A56BB39F842A0EF281431F1F"
-    "C4637C4BE38141F12858375D3859C0A410F8866F51262236022E0BFF69CEB9BF582644AA6A"
-    "D5606AF0AA4A480EE55F65A6EA1671EB9B81F8B6A5C2D6364EA6A470FF13E79EA5BA96CC3D"
-    "F82B346518EF6663F63043CFFF3F45EF0C1E6130B478C1A8A92BA87FBB3DC318889226808F"
-    "06B6316D7554B1281CCAC73D3E6B3A525CE4B5D75EFF2B6FDE79532E4BDEFFD3B353B971FD"
-    "86BCF0FC0B524ED7237F3F8CB212002AFFDEBFF367BAEFDE6F19F3773FFFEC33FFE5C3870F"
-    "FEA39DDDDD4F9E9E9C90ED8F55F651796CB9C76C47725B6945201369EF432CF65C01DB78FB"
-    "33C3BB0D8F4F8A6B52A0C764B3CAD6C3C742ECB5CC5211AE4CC2319F3D2FB45907006EE00D"
-    "E934A595EB803C83713BCF3F8C26E7A90F527FCC6D1F340CDC70E138FD9E3801E425A9C6E9"
-    "596CB250066ABBA4C6E7585B82F6874D1913805527865AA84D4C58DC866FAA7D50A3404804"
-    "A46C1EF27E9CD936CDE48FFD15A491BDCC07358CB5529C7D70EBA3F5ABBC38A66FCCA3BEB4"
-    "B4BF76E21F344B48E613CD0B768CAE3BDD9A6D89CF1568C48AEA189D644352215A67E1F46D"
-    "4BFD5B365807A32A1BC4D9C6D5228090D9CF6EB70C84BE5E6FDCB829BFFBAF7EF7273EFF85"
-    "CF7FF1E9A79F1EB38BCA452F63C8DFF5EBD7E5C5E75F98A2A8B210B1966F4D59090095CF7E"
-    "E79FE8BE7BBF65B3D9C8BD7BF7B65FFFFA2B7FEBD39FFAF48F9D1C1FC333892DB00CA43370"
-    "3707A95AA416DA28915380B2F4353B6949260055B2AB13B2517A21CA49D0D49DE63525D051"
-    "FAEED580AB64E06EFD806D3DE50FC84F37DB7A14BC39835B23032DEE1B206A3501BC0CD4DC"
-    "3410C147FD7A0E99A46BB01993F4CC44C3DB48E05F3DDC6F061C4F3B0C3B3AC69FB408AA1E"
-    "B5507DDEB5CD2FECFE682F1D0A93FB24313064CE0B505B9D05A05B28DF40698E66E61302AB"
-    "13B440A07661EE4A09410E0865AD3541368841246C34F34E7A2D0220382796A411A2512F96"
-    "81B936C97DBE6E08F3C8E627EA03C803F911E094C018C24A94CBEB83B42F8DBC9866A111E7"
-    "0A4ED1B208527FAD6FED28652850685D69CBC930DDBFD98C7944C6B9FCDB9FF937BFE352D8"
-    "FEA71C20752BAFBFFE4D79F2E458AE5EBDD65DB2966F4D59090095C78F1E77DF7D1065D041"
-    "EEDDBDFFE31FF9C8A3BF7CE5CADE1F3DDBCEEA2D4885E6C4860C7132AB41C5BC9239CB1939"
-    "5D2DA86BED6B48E50CFE0C98D2DF27761F36AB598559E88439DEBC8A44C9327A38538570A8"
-    "72293D680200FC9656D7F513AE56F7902CB6AD662063C95A54BA1CEB26917A157E48132470"
-    "AB036DB6F31A9A5DDA47A20135644D220DD1F6DF110BA16B7216399E077252732748EF8E9B"
-    "1B0878CD86521A48D3F43B81B0C37534100F03C4C26D8DE7D806497DBED60F9832606676E7"
-    "9A8C12E6CCB2E9A9527A6A1036F24524AD03D6811DE96BC4A0A071615D0E4C05482BE64497"
-    "DF0B99F46E6AB92470668446BACE070859222A9DCF2AD0327BFF4F3E2D18038A8861B71923"
-    "D8EDFB71AEAE5CD9973B77DEFC3B0FEEDDFFFD6BD7AE49DDF6DABB8B56C6711AB31DEEED5D"
-    "090777ADE55B5F560240E5D5D75EEDBEFBA0CAA3478FE4C6CDEBFFF3673EF399BF7AFFFE7D"
-    "DFBCC89E6DB2380A3629DB24A2F357514B314C21541A251A5C6BFA47729C12DBC2CDBC202E"
-    "0D4245B9ADAEFA0D3687947B9E4AF0656CEAE7C207C5B45B70926B2B73121FD824DCC6DD6C"
-    "BF70522B253CB75852A504DC95DA9720CB2099409F2561DF94959DD918FC494A9F1BEB31DD"
-    "1240D9FA66B6E1F9FE22124E1CACCD1E3E8ED3FC67C54970619C832942DD5B5DA377BC8FB3"
-    "A30DCE2C286E23E7104C1F536DF1255E0780DA08049144A2336E16B28E81C29219C17E6D3E"
-    "07856CEB513D6E2D2F813C95962C665B5DF355E87155388C74EE0B22557436AECDCBA4CE12"
-    "FBE0E7F147726C63C31ABAA87128F4E0620708351F03218D9693FDB906239D4CACE6B8773D"
-    "92227FEBF9175E98B48717BD8C63727272228707075227D5FFAAFBFF30CB4A00A89C9C3CE9"
-    "BEFBA08AEA565E7EF94B3FFAC94F7EF23FDEDBDBDB9FC30219AC6D5F75902F26CDA9ABFEDD"
-    "E63A23DF047E96D4853903A475D60C445B6BBE1EE0CBA5386098664248522B03930989C7C9"
-    "02B35A243AA2B08AB782D4F92695CDF66DEA6CD5B0194B0348489CE29EF1680B6B2D028031"
-    "F8B53164934629E4A4C8668D48BEDC8BDFC14F6DFE2A01A5F1110B3514C10142EE7761BF94"
-    "395D71D308558D24424C9DAF46C05A1E0903233CB104674A801A816C17E2C8EBA4112E5E98"
-    "A684F085855E77008DEFC22AE3EC87822C7C0A26E8D127514CB6E43D255CBF6D2A034EA815"
-    "92F80CB6DA4B1B7B5B834C76DB38E900895E9BFDDFC88A3902460D8469111A012A4CE214C4"
-    "D6D607B4097367287C751E1F6BF7A8EE7FFDB5D7FEF3FB0F1EBCBABFBFDFCDFD452B63FF46"
-    "22376A3D26C747B9D8FDFD8358560240E5C68DDBDD771F54B979F32979F0E0C12BBFF77B5F"
-    "FAC1EFFCE37FECEF9D9ECE492ECC1E6A5ECCE649ED2182E6C9EF2A6ADFAC9AD4A04DA2B0D3"
-    "52AB9EB33102A29D48F8F68C6B719D72981D4B470551809D731C83F0B8194E86DA01D2B59A"
-    "745B22684C854ECA631601B52BC5A0BB6777AC83FB290423D3B39BDB359B114C63504C2E27"
-    "A7AD0CFE26C5077F02023D31C98F40C2EAD7D44625153F341F2CD9272743BE4FD8DE1E1CC8"
-    "EDFE9A00DC257BBF6456FD6B29C9D4320F41303B602AECBF943B229107762CF452DDCC6292"
-    "396B83C6B4C4E292BC79FAE331B6249BC1DFD4E21B3A16D7C6C9925E995EC242F53A2D43BA"
-    "0FD9F7CC51B3CE24A2B684589E67239E0DD096730B359CC9EED6AE6FE1AFAE31C280756B76"
-    "F4F43F3C3CFCDCCB5FFEF25F1FE7E53248FFD2F25DBCF8E28BEDBCFF55FAFFB0CB4A00A8EC"
-    "5FF9D63ADC7CE499A7E48DD75FFDB1BB1F7FE93FB871FDE6771D1D3D6E9B46818848427603"
-    "603F1FC00E706175AAC776037DA77B94764E3893B5CDC7C9410B892A963F5FA522491D65AB"
-    "133095B6E1557F1ED4BA0592B4389C0298DCCFA179A5A30E8D751079C859FF5845CBAAF9F1"
-    "EFCA71E4ED62066A26158A3CFB86F4B3DA98CD0706224E5C7286404AEB5BAB83A89047BD8A"
-    "6FF6E468E01A8978760187F5B16982FD0A3CBC339B03DC119104741F2F12BF8D8C606C3822"
-    "81247DA77B441EC8D19489986FDEECE419350F8255A6F8DB2F88F9F64148A4F8013F95D631"
-    "01E8D4A4A104C264E45829C7FF7C063FB9F027A74021023C6BE24AC8D1CF3E3BF6FF9980CF"
-    "6D9B400C4EA99AD36460048249C7A4FF9D1DB9FFE4E43FF9C833CF4D79F02FBAF43F8EDB98"
-    "1DF5DEFD7BD0BCADE5C32F2B01A072FFC183EEBB0FB28C9BC7E80BF0DBBFF9DB3FF2DDFFF6"
-    "77FF6F93ED71DA94142420E73587B7BB0EB0F74F71C93284F0A4023BF9A82165B1C980BA81"
-    "7B2950474F5906874212D7807B424E7DF158EB5228FF8F990ED2266A85A557980DAA607347"
-    "E30C1BABD211A92C4DF291B0D2341E49262D1293FF98B41E6B83AD1812B92A2502B294FC19"
-    "2C6BDCC959BD6F59F7B089317A6AEC3FA539564BA1CB110DDC6792C0D1D379905CBBC19237"
-    "457B204A41381F00013B83336B7648536458AF4410005EA9CE1928D36955BC1470803FDB86"
-    "9AF681CE2020AF83C6333C535FD668D107B46906FC396490A575BA18FE126563A7060A2477"
-    "4BCD6D4EB0E1C021FABB2049D178ED664EFB5B52BCBF38D9A657A5D3988D3F8EEAFE575F7F"
-    "FD67BFFAB5AFFDF4F8F7D1C9915CF4328ED9ADEBB726E7BF8E25ADE5432B2B01A0F2D4D34F"
-    "77DF7DD0E5D6EDDB7278F4F81FDFBB7BF7676EDFBEFDFD878F1FCF59CFF82014110FC952DB"
-    "DC5B885713B8E6D0400E2E6EB7959646D64E1B2B9619CDA518F701A0330848BDCD6985E74A"
-    "5DE2732DA603B8861D8EEC15ECB10D9333353485025A1D9C1487D51B00A78C68E2CF76F53A"
-    "617090DA231833E0C243A293BC05C0A1E20E7BCA5A8EE23660F4B2FD004741EAE4A41168A0"
-    "03ED83F0737DFC828627680BDCE9136353BDFF85884E9833900BF181A208088C55037605CF"
-    "9CD715A78F76FF0E72D46CEBAE5038A8F9B6F0DC943C974440598B83654504495A463FB7B1"
-    "63353A89834921F90B2C499BF40E291D24A42D61903BE9FAF21EE3FD41981131E07336F587"
-    "320CB2D90B263DD1E994BF870F1FFD83BBF7EE4DB1F017BD8CE370F4E4681ADBAB7B9723C9"
-    "D11FD4B212002A47C7DF9A30402EE3E27FFCE4B17CE1377FFD87BFF77BFEE4F78F0C784A7C"
-    "61C0605A001C176CEA740F172CEDE440E14D0A8E450DF8213DD6A639263B7E311BA520FB9A"
-    "9F40D6D4C8745890811F0BB79DD318C881C2FECCA0A39D24AA0E44E65818B2D799D354810D"
-    "394ABC242137708A6A73DF60433B0C7C93894060068804C0FE05B67B2F64D63944293ECAB1"
-    "4E984CDA178B9F47B6BF582F24549C1E17490EDA4B24248F0B54FAA483C6EC581E023EEC06"
-    "44CB4D2E0CBED60955B7A947A248DA25711579319577719F86D2FC41C4325BB6E7CD24D8D6"
-    "AAAD9142EB5282B66092F241ADCC3C66B10B64CF37C0B525076D91F9DD98062A49EA96669A"
-    "88AD3901D6C97F623B39258CEE087BBBBB64DAF7F52C1E90496BD088D5FC794CF97BE7DEDD"
-    "FFEFF1D1C1FFF0A98F7F5BB75F5CD452F5B60CC38E8C89D1F6AEEC5D9A7EFF412B2B01A032"
-    "E6EEFF30CAAD9B37C783823EF7F5575EF9DB9FF8F8277EE8E0E0A0A9E0933D92DAE24056B0"
-    "39F3E1264A16568ECBB7A43FE668361FB0228004B3DDB31D3F488A5C8A6F845C4010D22F00"
-    "1B218936ABC853063EDE80213B294161003593EA7B10E4919BBDEE9988C4308528F193D42F"
-    "EE98C8200F2D84A6E705C99863FCE1FEDFFEF19CFCECACC7A4060D503A265A66FF0BF6EFE3"
-    "AE56FC50C27C3868D7743812D7A341DBA04A9593C4CCA484C7BD0F7723DF93104110E7DF54"
-    "E4A6015352B3F35A0C2680400EE99C0A5E41C54F820C4EB0031DC2D3DA5186C19B555A1480"
-    "B5D17257D03854F878CC6607CBC5C06CC13277BA56C9B518362FA3A3DF28007CF94B5FFAA1"
-    "D75F7F4DAE5FBFD199D12E62D99E9DC9FEB5ABF2F433CF2513CD5A3EECB212002E671FCEF9"
-    "D3E3A2DF1195DFF9ADDFFB2BB76FDEFE33376FDDF8B71E3F3EC26F015084A5EFD23204363B"
-    "E4D6549B2EC53AC8923C13AAA9A82B80FD5414C7110B808DAF7335F840DEE1B3E06859E808"
-    "C4E743F41D68821681804F5CEAAD2D36DD7D10CCAE6FC4A75244846DCE2EF5770443E63CF2"
-    "0ED6AD9D06E8B699D3B30CEC83BD9BC0006393C850B4AD378FFA96FD6F56F58BDB9A176CC1"
-    "4CEAFC04C75877D47CF8B354CC498E1A2BAEFEF6F9E4E16120972ECF8469578A5D8B443AEC"
-    "DDE68494EB9DE75282BBBFB6F64CA0D9FC5F8C189ADB4A2155BF2B262CDFFEAC299BB4055A"
-    "DBE99581CA7A9A616DC74D0B9191C92C614363E4611E6BCB1360668BC2FD6F1A1336918DE0"
-    "5DDA897F205E785F6C5CDDF136BC664D03B17F755FBEF4A52FFDCD575E79EDFF1A93FE9C9E"
-    "5EEC24383A85FD8DE3B6139D31D7F2AFADAC0480CADD0777BBEFBE5565DC3C1E3E7C285FF8"
-    "8D2FFEE09FFADEEFFDC542523B83A89050C840399522423BDA0CCC9036E229E628FF7F7B5F"
-    "026459765497F7FDAAFABFB6EEE9E9694D0BC90824C10C20096C85C42609894560908D3084"
-    "0399C50E108B30410022641C8158044480418EC06121DB028523B09130C82C811CD8488025"
-    "248D66ED999EEE9EEA6D7AEFE9AEBDAAABEA57FDFFEF75DCF76E669EBCAF06648566A6BBFA"
-    "A662D4DDBFFE7FEFBEFB7EBD3C79F264A688C55117602F523ECF75E6E4B23735947880D3E3"
-    "7B34D80BE64FFE89A9BB07E3FEF0F21913A9EAC3DE360B531A58DF0D8374783F2517AB0FF2"
-    "DC2172D42BDD03F15AE2FF46A665A0E299C08EBD31CFA365833A659B5A909641F62A902DE1"
-    "E3C27EF810CC39E406846C263FF1F74845704DD50547E4BC63FA77CC81E3AAF8FB4069EF02"
-    "4F1C8472545E9F3A6F271DDD581A583B4BA7ED8E83DC6B278041F612016874B6D1F927B050"
-    "25902803AE645E052560E7818871720EE7603A5F0D22F4FBC0E9014DA9A571C6700FB815B7"
-    "C7E643927EB2BF1B9CDCA97F7BA0219000E310278FF6687363F3F4030F3CF88BFDED6DEA6E"
-    "DCC8377FCF59FD1DF444CF3FFCBC7A6A62B1E7DE0A00003B74E7332F02443B78C77EEA6F6E"
-    "7DFCEA95ABBF73E8EEBBDFBAB9B1A9B4A199B1AF942211D726DBA6244C8C7AE24A2D109BF1"
-    "9319F2999241CD3A034A18261DFCB4CC4D233FDBFC8795FD794318062B4809373F843CB10C"
-    "FE494EC934E2E1F5B2802CB4F685CFA50F628DCC853E1647EA1278512A9F903A378E140580"
-    "DE9EDB44EE411C51707A169F95689A123FF8A873593742CA1C3FE48F75A01236CB476D45FA"
-    "0C34B531ED8479AF08D11B5E07C0A7A07BC0AF11384BA4D5112088DA53BF4DB0874E588046"
-    "BB5A09403300C61414E8EC828E99ACE77462A57CCF9AA85B9914A866F069FF986149C0B682"
-    "FB41022434A54575BD8D5D1433632C565531AE05D4DCBF0BB31E5CDB135F5F595E7AFB8B5F"
-    "FC22DFBD4D847093BD2ECD9D3E530F37DA7F605FEBE7C59E7D2B00006CB8B3D37AED99B4BA"
-    "0D66BF4F972E5EFCDDBB0F1F7E2B76D523118905F3600969C63B3FC8982EC5284E1FD5201E"
-    "CC54CE6CFC2C55C3875F9EB26D53949A4FB7FDFEE567AD839074AF0BB81ECC979BE3668003"
-    "287BA4B0F3CF28E0702A10ACCB2782B029EC7843E6B082800276A404CEC63A66A6671CB41E"
-    "56111C680A1C44DBB87F019C2C03976CDF4C5A24A8F4CD6105007E5F20AAAF8F8F4386F8D8"
-    "2233E02A0892325401248132A7063A0E6F418A96016A44CFC76FC6F83A6024E00BE71C4C70"
-    "4C552B2E487F0406234D531E82630719C78BE9985C0B8222C2A6A706DF1347DCE4CF0BCD56"
-    "69C320F89CFE3EA9E640D364DCBE96D31838DF40BB5BCAEF860F34BB6F96AE5FBBF681E3C7"
-    "4EFCD9ECCC0C8D76F6FEE8DB58F3DFB9F38E5AE7B0BEB6DEA61D8B3D27560000D8F4813B5A"
-    "AF3DD33675C73EDADCECDFB7BEB1F1DE43070FBEEDDAB56BD4191B03C7AE1160E041C09C57"
-    "247842A1716321422196F5F4010710B5684C3C96A60C20FED7879A7A4275C0EC384CB4AE0E"
-    "4823D03C6F4EA051502C12602680A2089BD7D6D364023DD299FFFA96E63D1EB4017CAC10F4"
-    "7C1CF94B7FFB1C7008DE80681F86EBE4BD0BD841B193553682DBD326A621E820A8007DE5D5"
-    "F13751BE94021A6919AF0FC143BA0607691F283BD5FD87C98A245E93B24D827361DF7F276B"
-    "E3BD73A95705EBE3A42B5FD550F5DE2B43C1552CECF863DC1D5C48F9F94A58A22030837500"
-    "55FB7B26DF6FF8CA03D3825DFC506FC3804E7634ED194E6A8CDA85D8B3BED10090AE267DC8"
-    "07DBE5126E4FFDF7898971EA6FF737CE9E3DFBF678DC9D9D01DD0E16B7238E468F02C022FC"
-    "BB79AC0000B00FFCFE075AAF3DD3167F19363637E8437FF4873FF1F69FFAE937BCE4A52FBD"
-    "777E7E5EBA9769F91E3F6E311F9F62130D47348FC9C22616CCF9A6232F3E901A07E854A825"
-    "BD03F4143985290FFE005165501AD43CF8C482298383975B0F6E82923282884EA96C7E5BD0"
-    "9F1B10A33BC5E57E9CD30F4CD5A35314B19F8D204346ADABF3508A5FCE08AC8487F485EDEC"
-    "A7023BE3A885B1106901E7546C631E6C93CF6912533649667F1C03181CD0835F9B9C692732"
-    "FBAD98D02B5BC034850726C0DCBFCA02024C7AF3F02B479247AFCCF74CD5F98EC7EE8E5830"
-    "C88257F4A59A3E329C02FFAE544D3AC00505B95A7BDF8C1FE04BAC9CB940B85E98C9408D80"
-    "0D7FF738F520EBC90195ECA3AE75726A9A4E9D3AF9B61B1B37AECEEE9F6D7FFFF7984580B6"
-    "33E893DF19D1F8D88411CD167BEEAD0000B07BBEF89ED66BCF86C587C3FCFCFCF0F4D9B36F"
-    "B9E7DE7B1F890C408C325A222388FC396212E7C1EC4032AE8252591637084A4A68F014D2CC"
-    "45A222398AE43BAD7308ADA82B640F46799DCC015B8C80C6B51879E6542E47E3FC2175989A"
-    "1A697411CD358F803D808835CD93E787904FC8082379612484F9D0D7752D4C9B0798584850"
-    "D2A7C37E1893702A47F700BAEBA53E07DA6CA0D9EF118F8D4637EF77DB1F0303E4331ADD22"
-    "CDCF7B1D76B9DFC11C8FFF6E35225A36176BE11D8C7434D578D241D23523A5134B22C7D3AF"
-    "98301DF67A5418C8208F9718E0678E34EAB6AC9993AA8600423CF1EFF07BC42C99E72E9A49"
-    "9BC02C0051109050A734EA5E06068DC877C5EC13964F8640FBF6EDA39327E7DE73FFA71FF8"
-    "BDD9580ABCF5ECA61C9F0B8BDFE199D969EA4D4C28EB58ECA6B10200C01616175BAF3D5B16"
-    "9DFE073EF007475657567EFE2D6FF9EE775DBF763D0FA35B69338C561D7468E3AE6CF5E7D3"
-    "2C01E2E754A45E71C89044F4F20E28FBD6EE7BB200A16A9313C1E8DB1213E9EF1E400446C0"
-    "482D73F80BAF2857ADD74BBEB51414007A70DE41DACE2A40C24D7C3A619C3A4DFB5E5E66ED"
-    "F01DAC472E5317DA302BC010704546C0F526B603F638489B66152AE6FDE499D99097014CA8"
-    "A0330EA4818A01AF6BE17E0470400596B230007CD0A0A94925352D7C779BDB2E550A81FDA3"
-    "ED47400233F50622258F9D23514F2080573EA374BCD96716E5C1D8DDFC5A8DAE061C7D60FD"
-    "81302DEAA8EA16C37539AB97F902F14DDC2F80C1251176E60CE6DAE2E0A2106874EDFAFC6F"
-    "4C4D4FD525807B3FFA77B4BDDDAFC7FD460050ECE6B30200C0AAEAB943A7F1A176F8F0F3E8"
-    "C973E77E796969F94DD33333AF8E7303AA0AF84B74F6011FB47294569ED3C19859C228518E"
-    "C77F0DE054B3B5816776E0248DC300A76B1D33D2F368DAB98F23C240B65D3C87A7F6DF1011"
-    "0732ED670352E2D93A910908FCB0CE4AF94C7E5BD68E91BFA63DB8DD32396DE68340C23868"
-    "C43FBBD0C3BA3DA9BC9273FB59632159BF1CD6ABF02C1D2B820F6FFA2804732EB9340717DE"
-    "4AC5645D0065105F5A6B4A7370EF7D0142692D75091D96AB825E45EAECB3B2431371CB9E05"
-    "6118F43E402A80074A41C31D12D16B3A2630143C21A1E2EF2BC2121116EA7538B8EF75CAA2"
-    "E352EF82743CAFEC8F013632EC9FA9014753B3D374ECD8D15FBD7CF9E2F9FDFBF7D3C80F69"
-    "2F1B3F83F6DF71A09EF6381CED7DA1E3AD68050080FDA357BEB2F5DAB3695158B4B8B4441F"
-    "FBDB8FFFD037BEE1EB1F8D9D0987A3A17D582733CD72789849702687E960BA9F65DE382D00"
-    "39F0D45AD59B76C3ED08C5F31C76A0DF5D46B50A3821702270FE1C40785190B37383281C1E"
-    "B426674FECF0700A6030E7E0D4C0D346FD92CAF64A8F7BBB36BE0EE380A4F73D7C0E236887"
-    "A585FC0776FD6B40C86ECD7EF8E73EB5DD155095446F81D5FF1C0D9BB23B664094A5D13611"
-    "81D0E5E15F02AC9102E7C475BAA131E84CA81A06A5D7EBFDF1A9214F682266AEDB67AADFA5"
-    "EE79DC9D127BF5C77BDD0CD60101AB3198E7EFB57D81685EF8FBE714858590F42FECD0D161"
-    "8BD604F3F9DC4A1B01684CC9A4CA9B5CC4B60BABE552EF81783DD3D353B1F4EDC10B172FFE"
-    "C2D4E464F3BBB7C799F0F82CBBB1BE4EA391A7D999D9F69E15BB29AC0000B0A5C567AF11D0"
-    "D3597C905D3877F1B11373277FE6CB5FF1F2DF5C5A5E4ACD4EDA8EA25628439B5BD5047099"
-    "133F10B9A44A1FD2411E52B6818FD0BDD2CD2CB4223927D15473D230DAA5DB5CE6F409A7EE"
-    "C1FBB0EBA0CB1D69CE4460AB5E0791BF6785BD5C85E6EAC1D953061E4883D996F357FF1804"
-    "4484049B8C5680D8C9B4EF0F33341402CC1F687EA4EA7C2B6CE4FD16F71B5C6B5F444F8040"
-    "2AADBF95B3CFF7D4EEA8617BF8AC5893EF82145C28B23360254B843B6C8DDB80371CE7CBDF"
-    "516C67ECF8E7B2C741CFED950971150FF7692A03BC0BE6D40C425D62F29C2E699761852101"
-    "E61CE6346045012DB303B9F36774A120824F80CD97EA3901CED191441FA7A2000020004944"
-    "4154471EF9013FF43433BBAFDDE7628F59BC8FBD6E8FC63AE3B5F23F403AAAD8CD65050080"
-    "DDFDBCBB5AAF3DDB161F1677DD75809E3C7BEADDFBF7CDBCE6F0E1CF7BF3E6E686E64BAD14"
-    "DA3CBCF4A19FE552C5E93BCDC28293738493ECD4192A606067AD0364481E793E319ED63160"
-    "A95BE0F385B6789023DDDC69EBB19CFD3CFF6CA4E15F90CFB21ADF96DAA92E40697A8554C9"
-    "E578A08533B0601D34493F046101E03B12E0FF545790031C8216B99A6FB79A04B9C1AA6DE0"
-    "AB03D601EF9F361E529A9AF7CE9424B6EEA18288C6795B67A9DD1E816C30CA7906523EA5AC"
-    "F43B8AE239FCEA4AAA87D986B4A79DAA82EB57C11EA70CE43B049D2EE37B2BDD787991071E"
-    "91CFAE95D76DF415007A788F13E860108303B3F07BCAAF4A7A82D759399A9E99A1B9B9B91F"
-    "5C5858381A27FD0D76B6692F5BDCA3C16010679D5067AC127057ECE6B40200C00EEC9F6DBD"
-    "F65C58FC25DA9AEAD1E2C2FCDB0F1F7EFE9BC6C6C6C68683A1A12BE5699A3DDCD929118BB2"
-    "9C031A35D8671E0148B00959FE2950A5409BC3C394E97B89BED383DDE3033A0413E9F339A4"
-    "2C8FDD25D3DA21E85AB33EEA3E13D135A7F500365C332E398C4CFF767B6E89635580476D07"
-    "CCCE47D66A225F88B8B98D6D42337C7F84B100278D3A01CA06CBC8B90170514A1DB0A29E3F"
-    "8A60C80338E2EB21CA53381EF64DA74E3A70B6B22C27375786F388A814341EF02D4A7B80A5"
-    "7C9C9E72CA404127C5104059CF804AF63E408D62D3AF0FF7A7452733AD9FB149B857EA9839"
-    "3D601B16B1559DAA29398C0FC74E87467E240D87F05AE5BBD14A95A5E98821D09D771CA027"
-    "9E78E2371E7AE8A1F7C7BC7FCC83EFCEC4EC0DE37B13271CC6BDD9DEE360672F580100604F"
-    "3E79A9F5DA736531E2585E3E7B766373EB475EF39AD7FCEEEAEA9AA5A6914E172A323919CA"
-    "1EC246AD8FA6EA6E33535D92E318FE2A4E6026977B0C608B557EAB02952000C13A0DC01CD8"
-    "1B1FF2CA42459B5C7F162503289128CCFC2C6F34C49FF7B2883C3511200AD4063FBBB113EA"
-    "A4CDD0A374FC808E990119DE04BC4E2991D2E14E01D70FAF35D1B032072CFA035CA4FBC1BD"
-    "FBF1B6B333DCB513404A192524604085C975EB07B0DB9EF4DC0F4DEB5EDE5B6D07DD7CC825"
-    "B53C8B2925F287D01F9DAE2C5DE6EEE7013F5014503ECBEC3D0259028C035BD2DC8B91EEF1"
-    "C837FBC3CA7F66219AB1C54E7B096469B2F8B958F2B7BAB27ADFFDF77FFA1DFDADBE0E3EDA"
-    "E31615FF879FFF7C9A999E69B14EC56E3E2B0000AC3735DD7AEDB9B43BEF1AA78D1B5BEF5F"
-    "5C58FABA7DFB66BF7FEDC67AD38C2499A16FE101687D770308A4A3792B1FA779D796E02A28"
-    "DD9CDE6ACE2DE26F991780F42A3B9FE46CA1EA40140441F504D8B2B8112F7A795D9703B9F8"
-    "108C435766C06B0918BE9748236860381048C86E04001F4948D95C53680D466AE5D7B93F00"
-    "36043269086025329122B22686F64FD1ADF7D95AF3E3647795835D4B56E359B2BD4D9FAC3B"
-    "E427275B0B0F535E1D8187DE66273752A9F1E6AE8DA05A80F016E884A03A6560C155D0F7A5"
-    "71BB02CA9CED5EC4E7AAB852807521A9919474EA638D047FBF1820407742CE5A34958595EC"
-    "6D5319A48C0AEB019AAD482C027C1FE33F262626E2BD1A7CF2139FFCBEB89643771DBA2D9C"
-    "7FD5E9D0C6C68DDBE25AF78A150000367360A6F5DA7369F1E1B7B9B545F73D74FF0FBCE1B5"
-    "AFFBCAD999D97BD61904400EB7B144253B1BB5710A0073BE367A559C2E0FB8F899543E8091"
-    "BA1003386C48A267981048A40D7672DD40C08325ED0134A761C7D7382FAB41B0D17C1045B7"
-    "44CB1CA5628D3A83208E0E3360B45B549FB3068D830BEA4CC0A104E360C974E893DEFE48FB"
-    "07E617ACF36F6E213BDDAC235FAA1AC8E9776FC4647A5CFE77FB31ACAC8C4B144ECD54B0F3"
-    "162008331D76A5B9ED7748098206B0357DFBB9173ED7F273D7BED40190F70AA27A05802463"
-    "A931A541CC5A84C6890B38605D877702964CCA09CB103195C520D529FBE57D7A7FAAF367B2"
-    "C139440BD85650BB4130091647FB1E3972E4472F5FB972FA8E3BF6D3D0EFFD123807331DB8"
-    "ACB8D8CD6F050080FDC5FFFA8BD66B37832D2D2D8DAE5FBDFE2FDEF6B61F7928526CDB3B3B"
-    "A2F097BC2CD3A0A02A670A18A35E4704747D90875680285C0C68F1F437F29ECBB0829ED350"
-    "03361DA0EA79A8DBE695A023CD1C26095881E30450FB030D2C39F2C05701256C19FDAD9300"
-    "A9BDC60CA4E8753B0127641C9682A65A3DCFF4B168DB1213901C9682066FF6941417D40D7C"
-    "0CB8C3B5C0FD0876CBDBC70297EEA40F04C0C524DA4B9B22E374F95DC20DC818DF00801001"
-    "6466CE46FED6B9933412926B1280A0B2162E49B5A023310BA0C817EE4AF637004E83350A1A"
-    "D02EC615AE5DBE0EF09B2060D701402501D5F8BD21523C103BFCADADADDD7FE5CAE5F71F7E"
-    "FEDD341E1BE0ECF188B84E970C47B4DDDFDEF3D7BAD7AC0000B08BE79E6CBD7633589CA4F5"
-    "A13FFA1F0F4F4D76DFF4FDFFF25FFDF9FCB56B34180D0D3DEE533DBE8DD6A1F69C035023CE"
-    "E387B0A65483E4F4AD363070339894AFAF6446813A28A15CBD3A678F2587840F4DACD3F6C6"
-    "D9336360F3C7DE44F1F5117CBBAE9F9CD7C97DE93C6D870EE58469111E8E6D1D2F479D41DF"
-    "8B9DF578CE7972DCA8BB10711C44C8C82E8400F783CB3953BAC4A6263871ADA023C03E610A"
-    "A0ED929D0017F1B7AD74012F2675BA031684F3DE3CA5CFA579D3EAD835A5E0B283D6837C2A"
-    "68AA270C113A73A4E23375BD73D977509DB0DEA26058913A7DB1BBE0251D538FC50C534C36"
-    "35CD8112A87671DD9D2C6DD5ACB97276CFF93B3FF281A6A7A6A202FEECE3478F7DCB646FB2"
-    "16C3ED753A3C24E43E18ECD4257FC56E2D2B0000ECCB5FF68AD66B3783C587F28D1B37E8C8"
-    "43473EFC452FF9D4BF7EE5AB5FF99E85857959193A147D603AD325AF79438A8E1814C88359"
-    "E70AA833E49F3B9931E0E57C4DA4AAB385B207A5E902080E1A3C013B73AEF34665BC89C6BD"
-    "97E8144BEE4246F50BAD0F4A7C3907800179AF9CCB0BF2D107BDAEDDB000D2A2D7CE86575D"
-    "853A30EF3DDC8C264AE5B1BEC664F21FF7A983B548A0C922BF4634974BE302003F3CABA23E"
-    "1D596C28750445F53F2B1D9C84400B340CCE71139FE6FECB5C20CB1BA4AF1482AC749A5D58"
-    "8380743FDC838656CECB17D589239D2F15058E8CD032E44A7F73005D738C6099EDA8F7C137"
-    "3D1A84FEAF941D91940E7CEF62DE7F301C0C3FF1F14F7CEBD2E2E27264026EACDF685DEB5E"
-    "B3F86C9A999985E64AEDFB5BECE6B50200C0EEF9927B5BAFDD2C163B6BADAEAED2B1E3477F"
-    "FBF0E73DEFCBEFBAEBD00FAFADAD65ED8B4160C68D7CC4EBDB4A80FAA149D0BD8D3F0FD63C"
-    "98432AE50ACAD1A607B597B7230069DED74C7CC363422E3677AE59DA8107EC1871A3E4ECA9"
-    "155585CC793338C054482EF243F68242C89C0CB2142E018B2609DFF85A70FEEC90A14BA1AE"
-    "4FF7D57355403ADF6EC39430DD215B26DB82258BE967C9F11A8D6696F2E09484BE9F243584"
-    "33EE658F0110B41FE5E9BABDEA4D3415951CA9F7B5A29F1781797AE9A30F6BCBAF9358FD1F"
-    "48C11C83CC1AC47801AC21EDBB0BA07D085A05C014BE8570B8FF7ACD807793AF57AEA27E0D"
-    "CAFB5804C8A78BBF833333D3F4C489B97F7EE5F2A5B9A9E949DADCDA68EDDE5EB37A601945"
-    "0030B32BB02B76F35B010060DDC96EEBB59BC90EDD7D28E617E9E8D1A3EFF8DAAF7DCD7774"
-    "BBDD43DBDBDB5A872E4E3690E9106B22DF3C1A6C0C9BF9A0A1C31505B7D4E8F3D121D2F52E"
-    "1B0D1CC0D968AB61BB323D1847EEFA80F5961DC81CB97D8DA3E71C20D89C7B0E22BCB77D0A"
-    "F8E71CD9AA6E404B0E253DD1EC8C3A07643C52DA04FBF3F32C7FA49151A7818A0ABE1E5D17"
-    "5C97C562B09726FE17D57B53DB0E2A4E0F8D7F8014A85BF77A2D2BE43BA5A98DD41447F2F6"
-    "802A9D4B69222C4BF5BA86A0C39C449C4A81070D883E45C01C88506B85BF1CCB7E67CCA619"
-    "50AAE0C6658806D718524AAB6E51AC4204F9CE93A4B2B84D36C177CFD3FEFD07E8ECD927DF"
-    "79EEC2A53FFEC2977EF12EC069EF591C5EB6B97183569616E1BB57EC56B30200C076B66FFE"
-    "F19CB1C5E6C2E2C2EAA71FF8F45BBEFEEBDEF091386E336A04720BD62B8830CAD4E666B952"
-    "71384E3D03966D2110F038A68ED1466846DB62B91D767063AA3A481960E3228389F81B6BC4"
-    "F45E7403A4B50A10B99165183CB5227923420C0A90889BCB046F9C203B64CDDD676986A06D"
-    "901500053DB66133020D4348E43DD4AF2368C9589090D205F84845B53F3A65BDEC201A0B4F"
-    "5AC3CFBBC11A0B6AA641032054D53DB303722E03C260F63E8FE115B5BE5770C03DFDE3CF2B"
-    "0080522EE8E4C0A291A08A1040F0AA438BD968F7B5E0D90194A5166CDA0B762CE4DFE3E6F5"
-    "CA593D021FA305821263C2C78FE73E74E8109D3A75FAF71F7EE0E15F3978F02085BAD90FED"
-    "69ABF7DF3B69F15CECD6B50200C03ADD9B9B01A8CD111D3878889657D73E7AEC89277EECCB"
-    "EEBDF7B75756571B10E0E069C9742DE7873938CDC6EDA153170E20790B17487BB627A7C2F9"
-    "5FA195217AA5947F35317FD0A97F968A2775B046BC6823683935D7AF87147FCB835D1D2F04"
-    "B2BB88ED6094705A174C0C067684C459A3100EC58E215B6F9E57579681018C0390C0E7B757"
-    "87DB83CECF67DEC499CFAA808E07F4F0D278C6808081BC348E296E00207205C6D13A0993D9"
-    "E90668CCA48E37A4F1BC7C2C74EAEDD6B9411C2A540298EF155CE22E397C66ACB48F405A03"
-    "320BE96C8E142431F381637D796DF578DFFADA52939F0A00564A03482A278AFEA6A7696969"
-    "F181C78E3CF23D55D5E83876F6FC8CFFE6CE55BDA632A4D53BA4D82D650500806DDDD86CBD"
-    "76335AADC8F6440F3DF8E07BB7B7B626EFBDF7DE77D7BDE053BD71DBD12330603F9789AB60"
-    "504B004795BC497AB802456E88FFF4518F6A7E7374530EA6D17BFA6C683B6CFEA9270B5876"
-    "13DCE57FCA2C7D383E41BFF9907998562E5E0714C87950F8D576FE9A2A7121E8A02471FCDE"
-    "E4A26DCA424E23743EB31E3E009462B065AA0C205277162C98BF65BD18246584A02B900CD1"
-    "E11412D2FE913AA840F9DFCAF942F42E6C93D375E3F70D9D337FDF1C5E93FCD4093B833F41"
-    "A959907CD1EE20B2B68A0146F3B9081A86C341F37B942C6A6C90E297FD6100E8038D0004F6"
-    "BADDF8FAE5871F7CF89B63D43F3B3B435BFD8DF6BEEC316B52406332F4A9D8AD6D0500806D"
-    "ACADB75EBB59ADA63F07C30802FEFD810307665EF4F99FFF4B8B4BCB8D72391798412C1D12"
-    "D7EB53446CDEDB72A8FCB0D50AE9E035498FB4691E0407EE5AC7AC002BF3D381C15DC8585C"
-    "C42CBB8AC5D267B9B0501908702CD817201997F885AC4C3293CB65437734B246C042E2A8D2"
-    "6B3E3B46AB7E9D4CF7C000A38749F56C164CC0BF9DD152002E31F78B170C151EC1C9B1B883"
-    "5E90609B9BDFC0E43F017FEA6125324E237DA38EA08E9C5DA591BD1F49048F7D12B465EF2E"
-    "A3A5F98B013743181DECAE27DB66F793EF81A615D2F5F15F84B1489BEB03A6F5EB92BD0898"
-    "AB668250EDFC8531832F315713F0A02C0631B1B67FA2D7A507EF7FF8BB96965797A7A6F7D1"
-    "309EB69AD865A57BC9E2BE0C8BE06F0F59010060D3FB6E8E61409FA94DD14C9D877CF4B1A3"
-    "EF1A0E879FFFC217BCE007373636343AE767AA3C16392255E7005E99D97523A40A781CF1FD"
-    "1A851A1A20A3B6B9A18A0F6D36A20104B6CC0EA7D8E1FA3477CE3D7103D0EBECACBC384E3D"
-    "9E320138FBCF84DAC18210318F2D7CADE04D15FBC144B7E67A845ED6E83484343931092BD8"
-    "B7050066E8F04C07C700D704FFB6E573640083EC630205AED27BD59C337D2B5C0555130E5C"
-    "33F7D2C77152CD3B1A30E040ECE9B21443F367B54B4DBE4D99C8C2F11B27CD80F433D29347"
-    "BF83928A2075E0697CB2D4AE22D30500656CAC79F435CD8A2C2B830DFF580F4249CC193FD7"
-    "ED76E9E4DCC9EFBCFAD4D5FBBAB742DAB058B1A7B10200C0EEBCF360EBB59BDE9CAB2B03CE"
-    "5FB8F8D697BCE4A5CFF7217CEBFAFA7A436942C42BF176EEB8C419A6A8882A8DACC1020CBB"
-    "31CF739CCB12B435AFD2BB7A2CEDD087550ADCA90E856E5896965E63A53E38486125386561"
-    "16C6F5FDA4EF85E97DE4A8E5B41D94F2E12C80265876A6E18FE6D5E17552BFD62C13AE18FA"
-    "D9A31EA1B59F229AE3BB84BE5C3D1376232404014E9D237EAC16E5713AA1E296B7DAFF011B"
-    "FBF03746F6A925B4F3920E483F30DF15D44C982B932F09A632109C05396F0836DDA1838112"
-    "A085A15704A902462AB655B5A6413067ED00BCE85A9CB23299D623828598F73F76ECF84FCE"
-    "9D9CFB9FB1D63F2F6DDC8B26BF1FA188FEF69A150000F6F0C30FB45EBB152CFE82C616C197"
-    "2E5DF8DE377FFB9B4FEDDFB7EFE0DAFA3AB42CD59892808EAF635CE84BE35264CE16C0F172"
-    "0997D2FE3A7C28E43EAA76984DB48BAA2EED1A87D13150F7E0D8194788C3E5B901C4AC00BC"
-    "3FCB7D7384C978C1438ED96A11AC051EE203039578EF9A696EAC2180C989BE199623BED4B4"
-    "62D63CBEBC227301AC0A034B155D9E59E0FD11702557AAA91725AE559029258EF83D5070E5"
-    "9C89B1EB63AB434BBC090F78A870FF08EFB8CDDF43C4CFAD9D5B9F1167EED9D366C25124E2"
-    "2D1090EF0B672A10483881039A4249E75399803A75EE61600146AA26410621FD3C8EF4BD78"
-    "F1E22F3FF9E4D9DFEAF57AF54FFD6DD0E71F28C1627BCC0A00003B72E4A1D66BB782C58753"
-    "EC07D0EF6F2FDF75F0AE6F7BE31BDF785F77628276760624C2791141890C5D224C99C48768"
-    "9F1FC44CEF92F2AFCDB31CF3B6EAB0C5599165D49516E6923FCE37F01B8CB20BC486408587"
-    "009DEE827998B71C7A70AA2DE0D79C330241973C6DE004844C3302A15D085653D05AA396BE"
-    "D9A83B0D8961CA9DFBD4CBBEA0F3071D43688BDA746FACD377BBF473B07FE705ABA3E79EFE"
-    "92510187CB4DA538B78ED7CCF75FBE27124193B02421387B1DB86CDA658D0EEE936B5AF306"
-    "C7771CC1A5BDB7FA55C1681E7F8EE90D4D53C46E7FF554438A298071F9FE88F83168CA43BF"
-    "57BE9E72373B33434F3C71E23F3E7AE4D19F8F5DFF9AE3B5CB6FF79231F0E94DF61AC1641B"
-    "3317BBC5AD0000B0D8D2F256B5988B3C7870829E7AEADAA78F1D3FF6852F79F14B3E353E41"
-    "872333C026E97AA1ABD59512BB63163E710455691995387C138536227743E20235ACF9697D"
-    "4233FB2014AC72DEE978A968CB852CF5A00C81662E2CD59D0303F3B94C60C06D7D4390598A"
-    "CD3ABD320E0C58543F01D17A72C252A900DB23E0C9C9F07D3D07BF8F2C905206217FD2A691"
-    "C4D89A961FD0927B77B2AFCDE29BBDA8AA6C2094E3897D98F7E756BAB016266AB22819057D"
-    "8E852108FEE4CBA6647BDD9B80B49F0447E55251C057C94023908C5ED6E85CD7E5B8698122"
-    "3B652D041D38A87668AEAB51FAE3B5F2F8DF0C34F162234B53399A9A9CA493A74EFDDB4F7E"
-    "F293BF36D5EBD5C7B19318F7A685B441C1FCF616DB4B560000D8603068BD76AB585C7BFC7D"
-    "9D9A9A8E02AD73ABABAB5F79E8AE438F4469437FBBDF8C364585FA2E2D63317A473AD713F8"
-    "7CCC67A77F6B691EBF83C451F2C35E8F1DE44DD2F29792525B06D5000360A2C520CE885589"
-    "EC245A42AF04473C72E9820B20F72FE043214CED74B87780ACBF59635E97AF5909BDAE0003"
-    "9094F287FDE38B36F78053268E882CA8D125B043CCEF07BFB151BF39A72439EF230BE81AC1"
-    "5FA0D8400AF3E2DCA9504F2A8ABEC69132D3C06F012D83F91EF199CD4026B0741DB56E8275"
-    "28750741693329FB837D0790C6D7F368A65FEE7DD61088EF41FCFE3760C8254095B116000A"
-    "F4A23C4D4DCED0B56BD73E78EAD4A95F9B9CEC51AF3B99EEC7EDE1129D73C5F9EF612B0000"
-    "EC15AFB83987017D26C691920F03BA70F13C9D3D77E6C2CCF4CC577FE5ABBFEA91E9A9E9A9"
-    "581DF074CF2C76FE2173D01CAE6919943EEC85F2174A581FC81AA76B34EC1217CCB95AAE02"
-    "1089000EC0E1CFC0FA1A67EDA4CC918FEDB9477F76DE11D3047A958D13F30076D295A09680"
-    "1D003A21290F34DE4CC1888AE56017B05490AF11D311212878208E82B51980CB4100FA29A9"
-    "3CD0CE8B752682821EA2AED5AF54449976887B22188D03E83E1CA9EF17DADF5EB600102F0C"
-    "848A27F97301B417A65535B300CEA9FB0E5A964ACC04C097D50A1E217ACF50A79969255F08"
-    "6E291CEAF2BFE6B05AC38EAC56CE70757BBD3884EB2FCF9F3FF796C8B0F5FB63BBB033C58A"
-    "DDBA560000D8F30E1F6EBD76AB183F24FB5B5BB4B4BC48C3D188AE5CB972D20FC3AB5EFBBA"
-    "D73ED8EDF526FB5B7DC8192BE5DBA2C825D40AA0B676E2E489C87C4E0D404456FE05BA326D"
-    "1F9B9C885405903EB40339B32E7532CDA147A24CD77480320F785EFBF77CCDF5317D303F77"
-    "90BAE0E8DDB4BC85689F480592FAB26D1004AECCCC1560B19F5192439A833F23037176E914"
-    "E852573C333487237D8954B1C700680042D37BBF1E7F1B5C72C44DB4CCA726664292421E2B"
-    "01342580330815BAF0843EE415347BCFF7D323E210E087CD8FF2689B531B782F1AB6A9B2EF"
-    "8F4C47ACF3771DD96F2DE5B447D4AD6EF62AE6BDFBDBDB1F9D9F9F7F631C0DDCF40A28566C"
-    "6F59010060FD3D32CF7A62A24B51E234D59BA28585C5E38F3F76F4B52FFF8A573CE8FD04ED"
-    "F0F0A08034781ED967F5EC9446F906EB4C8C652905DAC5A1B1C29ACC83BBF993F3E8824D38"
-    "5A358D72883D7CFA993A1CA5ED6109924ED0081C7FC6117B08ED73E5EF7190B33740C76001"
-    "C8FBA77F2B0E6207E9CD5EF37C79A5F1390AD5697F5A76C82EB4926E7CBC03288D14D236B1"
-    "0C8DB3C4060F4AF90B0DEE9AF6C1E495B141F6C2A8E4E57A487B1BE0BA316FC1F47DFDEF4A"
-    "76AA014DEA78F9EAADBE41BF2B467F508F504EE71441E72E256A5545758B9FA6BC257DFF20"
-    "EDE390B14A69A854EAB7B0B0F057F30B0BDF18C57FB5F3DFE52B5FACD8AD6EBBFCD614DB13"
-    "961EC4FBF6CDD2E2E2E2438F3EF2E8778D753A343E3E0E0E473D1193B43E957E0940604E38"
-    "09B6542B60236BDB108FD5F38D7360271BBC46C73E95DC858C5E779C5BA8DFE3EBF768873E"
-    "88D4A9399E4F6578E297D2B5790138483F28751DE473DC754E204AB33EAEED57F902119E07"
-    "008BAAF82DE8D1BF06B96EEB4C756F10492040402F2C7F754106B134F78A242DC02C83D0F1"
-    "95D6BA0B3B40C13A5AA7C0803502AC9D70694A1E51768944464428DF17F494463390314EFC"
-    "33455672DF59631210B2C00C027E6F30A053D9091D6814E4FB213DFC11A0C15AE2F721EE69"
-    "FCFD585D5DFDD3A79E7AEA1BA24E62BC6E1854BC7FB1BD690500DC063635354967CE9CF9D0"
-    "A54B975F5C75AAC5C810708B5B093225421FD94859F2F3DEE4B5C551329D9DF2ACECB01B6B"
-    "E8612F35F4411FC6E0FCF9BF16289045F0B99A63F37FBC26EC59AF0E068E2F550CCD3A9A73"
-    "DBF2AF86E60F027ECC06489A20082BE0A5D531382ED2CD4427561FC2C3BE21906921B16C6C"
-    "2DFE45027D97F6519D3497D3B95CB12DEF211135321893C1395CC691EE6F05D136F74510EF"
-    "CFED1F3CC7E0694C2F65B58578EF92533640874B0D05F024E70DC23307517AFCFC88D7026C"
-    "871C4AF654AFB1163A06222B51CD4D9D7F14F99D3B77EE9DA74F9F7973FC1D895DFF769131"
-    "162BB667AC00803D6EFC708DA54C233F7AF2C2858B2FDBDEEE5F8E346730D12C44B7791D3C"
-    "387D716EA26E6FA27F1F02F4A15787AD0EBE9D3B17C7EFBD3A1A30FECC28F0CF9B8143DEAB"
-    "C30DA9B6DD7BAF7E0AA3695EAFCFD6E00030903A7E75CECC2264690CF98CB20DE2E87D30D7"
-    "E647C1CC44B0EBB2D7EAE0D85C86A8CC427A8363068104BCC97C7C10B5A19A9FDFD3D4FF3B"
-    "D15E48EA41931702287865D52E7DFC47DE4B6740112CA6E89E097515F7095204C76D8742B1"
-    "DB6726A282697E0C1C79553A7DD027D123942490DE2F1EDED3B0170E8E41ADF4175F73FC7D"
-    "3877FEFC6F9D3B77EE57E2A09F4EA73C1A8BED7D2BDFF2DBC29A876F6C603218EC3C75ECC4"
-    "F12F5B5B5F7F6272B2296982946E46D5EA439EBDBFE4808589D5085129D68C424F16029908"
-    "5F82DA7C04AF44E25E73C1CE320E2139FD510D0846BB8AFD98B978FAB445B04E96AF300475"
-    "5AE2EC31579F7A1DC87FE0DB5D52B4F375396E7B6CCF6D3685C4E7F32220F4E7BC3ADCA4A0"
-    "4AFA781255B72BF340A2E26F4AEEEA9EF7A42575E23E01A071631FD465F0FDCAF7CA015381"
-    "258A446458148DD21D8C71D64B4761293B79CFE922736B5CB656DC42AE9C6846FA86D4BFA2"
-    "4993044D2B19C166736D1170CCCCCEC6DEFEEF79FCE8E33F393D3D5337FE2956EC76B00200"
-    "6E1B6B1E9E93BD49DAEEF7571F7BECB197EF6CEF7C329637718E581EB252F617A4A48B840D"
-    "0F49711E6C842CB477A2C7E143E2D4A5F31FD6C2AB236087EDD37F48954BBE36A3CE91F296"
-    "CFF9A0DA030033ACFF12B6C2A30FE71FEE4ED32B9BC154B9031C0491B487BD80F5E25E1081"
-    "834FA913E94047A9ED2E0B1B1D4933261C4AC3F723A4497752AA99D5C1FB00AA7E8111207D"
-    "AB000C24C19CD0FFA3A0AA7A5E5A5541131F3E930369633B774F109D93ACC099AA02D61D20"
-    "70AC2A6781A16170B49A205DA9DC279781D840DC0DB0595C0468313DD0E98CD582D9959595"
-    "5FB974F9D28F8FFC88C6C7C75A4C54B1627BD50A00B8CD2C3E88BBCD2CF3E1C54B97BE766B"
-    "6BEB9138D444F2FCF250D5813968216894A8511E32017904CE795EA8F30EDC2D10DC273E74"
-    "B5D24C3405D87087190B06061E41060387A0A23D92E307D100345ECA8AD27CD012B9C04E29"
-    "8FD8813497A566298D56949BE5C41BEFA600C850E6A4347FE554D447E2F8710CAE299B4842"
-    "B8E6BA38BFCF024789929DD6F6FBA0E7E2FD0CE084D1013B10116A4A04A64E9AEB5631A5EE"
-    "6F5AA1343A62B0E8ED90260621C4402B98BDC94B31E39E8C864DFAA7CEF923B2C22F1C83CB"
-    "F87D1A79EA757B3436D6A163C78EFDD895CB57DE393333D3B4072ECEBFD86D640500DCA6D6"
-    "9DE8D6D1DCD1A38F7DF5D5AB57FFCF742A77B2B4BDAAC6590780FC34966969BA179D2D08EF"
-    "20CA97A318E760D30EC204F81A058833E052AE80FF26A5859599F7266A37D43EAF5B9AF5AB"
-    "DB10AA3B3941679CB95E3BAF5BF2E898E776995347C53A23061E5BEFD481EA9EB705837837"
-    "D8E9AAF0CE020E97F930EC97277A8E90A50D82DD0702E607AFD3E2341C3D0CBA91B41F9594"
-    "FF395B1A89FB29D13E541AC07A75DF59BF108C5FAFFB3374183834550C389D11410D7F1FE2"
-    "773F50D8397EFCD83F3E75EAE47BA7A6A780252956ECF6B1D207E036B5F890EEF56277B3FE"
-    "F6DCDCDC376F6F6FBFF5052F78C1FBA2F2796B6BAB51C8CB133845534E4BDF24E79B5803E9"
-    "87CF664AB40037C0F01A9EE5DEB48D7566225E7322ACFD0E2AB293D23C74485ABAA66C4650"
-    "87E202401682B1B7249F1161A1D104C0CF0D08424023996E627D822D304FC6EC028F4984B5"
-    "07C8A547EA5DA278A4BC53C73F76FA0128DEC6A12500001A5C49444154764989C04C05A973"
-    "B70446FD4253EEE753174270B8D200802B05F87C4E6F62EBDE06B8B724171A64A64050C53F"
-    "365AE235E23580F05040964853F8337A3111B4F248663CAE057D8CB902CD4C4FC7EE7E8F1C"
-    "3B7EFC95C3E120CC4CCFA4A64925F22F76FB590100B7B1458739D1EDD278678CAE5EBDFA3B"
-    "FD7EFFCC0B5FF8C28F4E4E4EBAADFE56DE695D5C802316BA350D82A48C2C593B6D000E02A2"
-    "6E870FE99C6A0F10518A23C0E81DF3DDC01E64112DFE9CA34F9C0FA08D6D64B1F033124A9E"
-    "7FB4FB38E1F6885CEB90795E82EA06640F9C36CFE15409972736F4BD46B72185F74A16E8A0"
-    "1E75EA2C7AD3D63FE27489530E0AE44CCBDDEC1E7069A7D10C64CE3F8400797868310C204D"
-    "7713C0831CD2C96B5CFE878243D53E28609073425749BE8FFC7EA9EC48DF9598CEB863763F"
-    "CD2FCE3F78E2F889D7BBAA0A71A46F7F736B17A456ACD8ED6185F7BADDADAE87AF6876DF2C"
-    "3DF5D4537FFDF8D1C7BF20105D687A055815BFD2BCFC3C77BB384CF015E2980388FAB4FC8A"
-    "1FDA52FF9F030750A163B99AB6EE557119EA1242D0E8579693225F19E266AA0DDAB97BA3F0"
-    "978B06E7D4BA5E9827C85E502A17B20E774613C0423BFE0852E920A24B658E066805A0DA21"
-    "15C07D0AF06688F68182EC9B4D0164004C00830562CC7470DAA25E5F256801B8104100766F"
-    "E5A4A03B95BD625D824DD5E4DF2F652500388ABEC102B478CD51D81723FD4B972FFDF79327"
-    "E75EB5B3B3B311CB62773B47B162B7931500504C1EB83122DADEDEBE70E6F4E997F6FB5B8F"
-    "4F4D4D59553944F20491AC74981327C20F71C811C3201E93170F764EBE3A9A90446FE8C89B"
-    "F7AAB27CD4741B1C8D0440A0904E95DF01169C0110A6AB51B8D868CA413300A90103120844"
-    "879605A8D7C86314C1D13606B4B7EC6D0660F8456048908E0F12ED3258C0813C4EA87C9EE5"
-    "60901C747ECC511BF6D1CF1187AE2D08FB4384657FE16900839ED700012E23857B63DE5EB1"
-    "76007B0090D127B4BE9F70A8280A8CA5AE31AD75E6EC999F397EFCD8F74696247ECFF3A98E"
-    "C58ADD8E560040B1DAF8711823FFD16834B878E1C22B9697963FCC1DD150F9AD0F71762CFA"
-    "333E58D08470FABB46B18EB2288DEBC3D987D411EC2839F1609881C08D7FA47B1D9C9D27FD"
-    "A5E890270532B0F026128523068D4053182AB0C367E569CA68041137EAF194D110BA1E6978"
-    "8E8BBD65116449B510CE35EA7BC735FC24CE0FFBF7B3DFF3018089C7B5E8001F3693236727"
-    "6D26EF653322C0919388EC52E41FFF97B106F2738CCA83B2010146FC4AD5006E00E96751CB"
-    "C0A90D06195E9A11B9D6F983748AF435ABD5DFEE6F1F3F7EFCF5972E5D7A776CF6135BFB86"
-    "E2FC8B15ABAD00806262EC1AC6C6C768ACEA84E3274EBCE9DC934FFE3051E847AD009B4C91"
-    "67AD5BFE3C85522F7EC0D70FF58A8CD04F9C10CCCD97FF3196F00D6DAF75FB81A0581FC001"
-    "381F6EDB2BED83B5FD2F6A0AD2BB814296C3C22C81B69EA036EE958FD16ECE6EE080046116"
-    "788BA4D8D238C5AAB275EF04C7CF81530D08704A9F808244E9BB907A08B80C440500114102"
-    "7D6DDBDC76AAF89A50F664DF4739C072FC2DF00A84A4F530A301480BA0F307E0A26B72C29E"
-    "54F01939574A2575624A6B76965657D63EF5C8238F1C5E989FFFBFFBF7EF57AD40B162C56A"
-    "2B00A058DB02D551FFC4C4781C24F4BEF3E7CF1DBC71E3C6C762D580940AA647BAD5D2DBFC"
-    "35A18349113A250161F352302D80793E8044ECD03F5E810137F9C998812C6A1D7975C279C4"
-    "6EB4093E18674F5C1FEFD969C135E5ED84C91ECB6E8586E94AD12B10C08A036455A42D321F"
-    "1D0193C7757BD9724F59D7C5C01A08A73D0F4C2A84A97B655B2477BF4BFB5FDD5F2B84E405"
-    "3871F4E0B8859920018B81CB3983F6F8178602C483D98C3E59136B0131D72FE74A2C4DEC71"
-    "115357737373BFF4C0830F7C8DF77E657A66DAA6568A152B565B0100C576B590A8D73817DD"
-    "07BF79E5D2E5AFBB7EEDFACF474155FC8F1D9733111594C3494AB8250B4FCE009DB70AE8F8"
-    "B8989767315E2010B3F9F6D3DC44DD2DA70CDE11B408CC52F0B93D0C9C71E0AC1DE9F020B9"
-    "44AE82741AC52B34E2723715FEC94E243A3F104CF58336B9DCCB5E36856449789034331FC7"
-    "FF423A210762523140027C988FD07A7D0534CAECA036204BF5A47485AE139917ABF60FBC66"
-    "1401C2C85FCCC878CACA4121D71F1C833C5D07DFC398EF1F8E861BC78F1F7FDDE9D3A77F31"
-    "82D898EFE7A98FC58A15B356CA008BFD9D161FC4B143DA583546972F5DFEE585A5A5935FFA"
-    "A55FF2C19812585F5FAB41020BD1306E7332818F327117ABDB91E2269D6F2F8E5B8BCB584F"
-    "604565D884C69E38070D4275B7E6C205A5C741F316D8D1E44EC324FC0387A37A7A1F140870"
-    "AA02E7F3C361787E7D0D38B81742D0F5CB9556EA5CB944DF393C621041A00110FC77C8C7B7"
-    "E9EF4C88684095D39600D99E110A31BD82377C7303802A9B5E712A5E1431639666C85B193B"
-    "AA9A79FE0CAC80FD71A1015271846F77AA4B0BF3F3FFFBECD9B36F1E8E86FD999959AA3A55"
-    "8BC92856AC985A61008AFDFD169A4835D2AB8B0B8B7FF0C413739FBFB8B870AC7EC8C687BC"
-    "8707344781CA0580A08B95E36DE5B63874F927170D9228D91B5D5DE37C476934B0E8DF9052"
-    "17AA9F34C72FE7200B223C8A03830AE88D33B41502ED8645CD4859FE6D42919F4BBDF331FA"
-    "97A63640617B65E66BC0C0C37BB84AA1F98875D8040C896554F4758F4CC7D3589EC260E005"
-    "A7E1C50BDD91A76828355E422E1FF5000C106AE0E7ECF93CB4020EB00827BA0EDD43011A09"
-    "0844862A5EFB9933677EF4FCB90BDF321C0EFB3105D066808A152B965B0100C53E334BCFF6"
-    "A8A45E5B5BBBF8E0830FBD6C7E7EFE5D1114C41C2B29592B8773E2B0B8C77E0531670E0238"
-    "2F1ED45143D919F7C16720C00ED4382F1C9243417BCA73D4AD2BD31C75C60A30E8E0B1B470"
-    "61E91499204E2257CD7B4B8959E05488D51988EE00AF9FE9701143A6D7BD3219942A1FB8EC"
-    "D10CD881CA00145922858E7A3BC41F92634F07E25E4D7C9C2AD5F9F3FC861C0085C4F5DBDC"
-    "BDC30D3715222C5A94AC06AC5B3A1F061C42647B03C4FD8BF4FEFE3BF6C7BEFEEB274E9C78"
-    "E585F317FE73B7D7A3F18989E2F88B15FB0CAD008062FF5F161FAE715E7AAC14585858F885"
-    "134F9C78D9952B57FE2A0E5799181F87FA6A671EFACD4B0C11B4DDAC31539A17E04F2C1DF4"
-    "022824324F4E2878D299F6E068F958465C27CEDEBA7F17D009A76361B73C6030741D2AF623"
-    "6AA6D899B1CA94D1E39C263082BF54DE98DE1BB271CAC840409F21D95EC144F6242945A33D"
-    "023C3023E6D8929A51911D1F870157ABF451EE4CC64C6821887D573C56DE7910A6FAD57F4D"
-    "D309894B211525E9ECFE0838030D1E7EE8A177DF77DF7D8747DE3F1CFBF99B76C1C58A15FB"
-    "7BAD008062FFDF161FB1B1D42AB201CB4B4BC78E3E7EF41B2E5FBDF27D316A9E9AEC31716F"
-    "CABB889DADE47051B0860E04A971EE658FE575565D4E1C95FB51D21CA8430D189183C2DF30"
-    "0E011805737E3C97E6FA1B3120AE81528E3AEB699FC39B7C2F82F6BD470CE252C25CA364DB"
-    "450FA7F2C9A442604334E59231248184BA97720C282F7481D5FC7AB79AB7F0B43E6D32D012"
-    "EEED36A5CF5B512346FCE4F435826645CDB6739F834ACA39A38D7C93EB8FA2BED5D595BF3C"
-    "72E4C8DD0F3EF0E0CFF4B7FA9BD353D32D2C59AC58B1BFDF0A0028F6595B7CC047DA35E65C"
-    "171717FFDBE3C78F1D5C5959F9C8E4E4148D8F4F68F49EA266EE1B842567AC18202108F2BA"
-    "02FD539D0449CDBABC2F2845AE638DD584720736D9B1F3CEB4041CF50616F0014008B82848"
-    "13B4F3E89A10D1AE7F0C2C8238F8A6542F7DA6D24FAAD6404E2580C09375F64614288047AB"
-    "2202000189B7418D6F7A2F48CF04040E21DB4DFEA863B99FD5591009F3601A11E537356D2B"
-    "A65B74BC0377766C8E3D3B331B5F8D0AFF373FF1C4DC1B0783C1F2BEFDFB69A23B61BE07C5"
-    "8A15FBCCAD0080629FBD410E39A600FAFDFED2B9F3E7BEE9FCF98BFF64381C2CC5B22C5562"
-    "63499DB3822F624764FE29EA7C3507797D76BC19550E1A014D0DB03620FE7B249F41919A56"
-    "0FA47E042A21D4285C18056D5F2B79788E6A655D0070BC878E785ADD40E0DC9B0F653DF65D"
-    "65DC2EAEC34C4934658CA8A5A016CBC00C82321879032328FF0BD93130979FDF2950FB338B"
-    "2FB58F4616802D7DD35B22DD5FB95412A9EB8836313E4653935374EDFAB58F1F3B7EFC45F3"
-    "F3D7FF34EA4EBA130A308B152BF6D9590100C53E27169FC51313137544B6B4BCF4E767CF9E"
-    "3D78FDFAF57F37313E51D7670B2D0E896B530F806A3062078E79767E5DA7DAC11F42E5B3F0"
-    "10A9FE00F47D608620551948AF7C983027416F569A26B4BD7A535927330F021C8C4A1ED60C"
-    "984332EF928BF7962E8736BDAA94CF1AF148D7C5E45C2BA7F43AA6F2255AF7D27320AF0DB0"
-    "AD1592277704331DC844F488CEEA73569C7E70646E5B4502DA3C6A2BD2DE8AF831DDC378EF"
-    "C6C7C6EBD1BD3B83C1CA99B367BEFDE8E38FBD6EBBBFB5182B4F5AE0B158B1629F95150050"
-    "EC7367C989C63C6D7C48CFCF2FFC9B93274F7DC5DADAEAA5E9E9991A1C54ACF06775372AD4"
-    "310F0F797027912A0002831C50108769077E519D31A72384E6268DBCD1218A83092415088A"
-    "205438C76B474D4008B6F61F697BA97220482B40542F0DFD530540032A9A7242672FBC791B"
-    "B7246696DEA9339575729EDD44F8BA56D9C9AC520037C1A609DADF18B33667B19C6334139A"
-    "0E8B7C3F8479616C141A75FFCCCC0C0DFD884E9F3DFBEB67CE9C39B8B4BCF467B5C8942754"
-    "162B56EC73620500147B46ACAA3A3433334DCBCB4B8F9E3871FC1F5CB870FE4D37D637FE36"
-    "9669C516C3EAFF4100085D034D9C99227B744C98D366D5BAA1A9812190940350FE0126EA35"
-    "2C4190B23B43E54B239F5485E0D36C01A2D42E181CAB38FF3673D18807530D3D281FC451A3"
-    "78909D360A14B9A5B1B7FDFA6B7001ED8479063E5F7D0026643702BF32DEBE614B8C18D074"
-    "1774BADF5A68A0CC8950F778E11CAD27A05235DA00E9731074A67FD4920C8723BA7CE5F2AF"
-    "3D76F4B14327E7E67EB6D3A97C4C01943EFEC58A7DEEAD74022CF60C59E38C22FDDFDFDEA2"
-    "F985850F2F2FAD7C7876FFCC6B9F77D7A1F74DF4BAF70C07231A0E07CDE92157ACCEDA52E4"
-    "EAD4A1CD1076B8C3C896348F8C6C41483DFE0D83C05A37FE9C0CFA61DA1C1B14B9247B8B3E"
-    "D901ABA03D0BA4B430901E188049A867F857352FC0FC05EB129A614072AAA46B0CBA0650D2"
-    "85EC252E56307D0A901868F10799EE02BA393A1136646C8ACB3FE59A8982A9FC11A74012FF"
-    "9DA5FF0453FE1C7730747535891F795A5A5CFAC3D3A74FFDF86034BC1E01C2D4F434559D0E"
-    "0D07C3F24B5AACD833600500147B46AD71769D1A08C40636376EDCF8F8607BE7DEC9C9C91F"
-    "3A78F0AEFF127503716EFB70B8FB439E5BF506108619DF6D4AEE6C84E8A06F3CA90B92FF8F"
-    "AFC4F2328C6A099C25A70884E297E392796F93264F036F28F7B400449052E772B9E4D8B9A5"
-    "BEF7DA114FCBE01C5622C299AD436F97F12993D28A9DA14DB296246A5EDE9E8C5332F6A5FC"
-    "FC9A02701694106B0212ABE21A56653275F17BEAA9AB7F73E1E2A51FED4E74E7760683BACE"
-    "3F3201B5E36F2DBC58B1629F2B2B298062CF8E25C712458131AA5B5A5A7ADFC2C2FCE4FADA"
-    "FAAF0E87C341AF3759E77FA5AE3DCFE3B3E34DD1A4D0D0FCFFC218A0B7538F289C4155D5B4"
-    "37E7E32B337F20BD97F3D23032D7393D5B7CEB086AD439B1EEF9DF228643E24027DA350D71"
-    "829E8C87F038F5E24E52036D472FEB04CD012AF969974F20800A29E581024149BE1874A39A"
-    "0047615710C4A91B66411C9E039A16F1BF63FA2452FA5127B2B8B474DFF5EB4FFDC39373A7"
-    "DEB0B0303F1741624C0F152B56ECD9B102008A3DAB169293898240E75C7F756DEDE72E5CBC"
-    "74C7C2C2FCBBB6B7B7B77A9393D4E98C9906388E63D9ACAE5C47EEAAD383C01B3AE319A2DC"
-    "8CAD75D94FF8EDAAA783BCB60B123AA3425F72FFE0903D34CFD12A02F8CF43082D0B75A67C"
-    "512269583EF61DA0CC29E3BE180DA400104A4E3ADB47780A70473E497E08EACA5BFDEABE19"
-    "9601BAF72644236BECF6BA343D35137B469C9E9B9BFB8EB9279EF8EAADFEF691C9A9C99A21"
-    "D283142B56ECD9B002008A3D27C675F271B470E5DCE6B56BF3BF70FEFCB9E9E5C5C59F0B21"
-    "84C9DE64DDF98D67CD635B588D52837547E8244DAE1A29E9C631A3D3729DCAE00874D8A699"
-    "0DFBE90A3A1472531ED3B79E843697939075D8DC05AF211652EE1CEBF0B041202CD68ECA45"
-    "200242488CF68D1631989C7DF3924E217402729CD02D6DE641CF450EBB15AA3893AF2BEE73"
-    "A7D3A9C57DDD6EECE0B7FAD0A95373DFF4E8A347BEE8EA5357FF24B20012F117C75FACD8B3"
-    "6E450350EC39B5DA415515F57A5DDAD9D90E2BCB2BBF3A3F7FFD3F757B93DF7AE0C081EFEA"
-    "75BBFFB43BD9A3C160407E900483905377CAA2AB9A9EF2DE01FC67B09A01A6FF475E1DB84F"
-    "CD748CB08F856B5AB3EE838212337E57D2E05AEA27023ED35340D7240A7788D2A5E411C90B"
-    "C7F593C1B00F4ED57F2D3F6AB228BC5E84461569640F690EB37726D47732CA592F41FB13D4"
-    "1A86CAD593236337C08D8D1B0B972E5FFA0F3BDB833FDFDEE93FB2BEB656FF2C8E98367AC1"
-    "62C58A3DEB560040B19BC04252C057F578D7F5F9F5C5D5B5F5DF0B21FCDEF8D8F80BC7C6C6"
-    "7E7A7A66FA8726A7266746434F83C18E46DD211068D7ADD25C1C6D1679938D54CD88BCE48C"
-    "35411070AC516ADB6B1579562CD8BCD688F9F29D4DBA00A76BB12D7AB1BCD1890601DBEC52"
-    "12D029B8900FFE9DB7D191321A3958D177F0B1ACD36791A386F904AC81AEBB33D6A15E6FA2"
-    "1674AEAEAECE2D2F2FBF7B6575E5BFAEAFAD0F620DFF810377D0706A8AB6FBFD12F2172B76"
-    "13580100C56E220BA9194C875CD5AB5300C3C1F0D2F5F9859FEEF6C67FF6D0C1BB7E6AA2D7"
-    "FD89A9C9E9CF8BEF8DAC40AC20108FE5342C55F15D501A5C66E480F3317EC849346B7AFFCB"
-    "413942B7E5870C22A45AA05D0A608F959D93249901D50E590AA0358207F41172F06C041F5E"
-    "33D45368531E63FC591638C051042CC911EAAA85D41EA99E0E19859DFDAD7E585C5BF8D0B5"
-    "6BD77F737979E9D363E3E3750A2036F671CEAEBB58B162CFBD150050ECA6B6E858627AC039"
-    "DA595A5EFAF58D8DCD5F9F9D9D7AFD810377BDADDBEDFDB36EB73B1641C020F613C03A76F5"
-    "5BCDDF4DE4EB9419D82D1205311FC9F112DB8091308FB04DF4BE6737EDA079105940E032AA"
-    "DEE54A86BCEE9E3B043A1536EE1A3D3BFBBA43C72FA57E20226C65F7B3EA01EED9ECB86111"
-    "C938E7F8DECED838F526C6EB687F7DE3C6F5CDCDCDF75EBF36FF9B7E30BCB13DDCA92B3AA6"
-    "262769381A358D7E427EBE62C58A3DD7560040B19BDEA2F3E9745C3D6B6073738B565756FE"
-    "A6DFDFF99B89F1EED4ECBED9EFEEF526DFD1EBF5EE898D68624399E168D8A2FC4DAF7F981E"
-    "673A049252EE3037AF290B04559D7607B4A5789A1AE09F6553EA1CF4EC87D6C0D22A57B310"
-    "F0190DCCB1CDB101337C7D29E447D642357DDA3F3F4090DF821286EA573161DDB9CF550D3B"
-    "E31C6D6D6D6D2E2E2EFEC96030F89DF9F985BF667D42CCEF53C7D160B8D33E76B162C56E2A"
-    "2B00A0D8AD63A1A9DBEF74BB753F81D168B4B9BCB2F2FEF1F1CDF7BBE05F363D33F3FDBD5E"
-    "EF3BC7C7C75F1C1D568C4263841AFF033FDAA8F85164472A08E45AB69636003C735B6340C6"
-    "F9BA4C8CC73E95A7F0E9CF02542C9011F7590B1890CB414D6D3E7C4C9305580D81B5FE0A2C"
-    "9CB0010070123019EB8CD5A02B46F0A3E190463E3672EA7F646575E53D0B0BF31FDEDEDC1E"
-    "DC79F0CE7A9FC7C62B1AEEC01C8362C58ADDF4560040B15BD6E2A8E198638E7D03D6D7571F"
-    "EF6FF7DF3131D17DC7E4E4E4DD3B3B3B2F9F9C9CFC9E5EAFF7EDBD5EEF40A350F7341AC55E"
-    "FA2388E239479076C10C1C60F91F97BC2968C0EE79F5BB833A51AE3090CA84449F6B4F7EB6"
-    "DCD96B431DD41948B65F861785F4CFBC220089FDDDEA08C18C14814B19E37E56754BDFF8F7"
-    "9DED9D303F3FFF89ADADCD3F1E0E861F1F793F173CADF577B6EBBD8CB5FBE313E329FD42BB"
-    "F109C58A15BB89AD008062B7AE81BF895168A7D338B0C160706D7373F3DAD2D2F247A6A6EA"
-    "EE725F35313EF16DD333D36FEC74C65E353E3EEE2270A84B0BE36C801136ECC966E21B4C80"
-    "A90214E5E554BF2AF4E5A3DEE6E049DDBC31AB1900E2213064C10404D9230881919A152561"
-    "A48DFFF952820CE5897B17FF1EF7637B7B7BD57BFF899595953F5D5E5EF9E0DADAEA5AD460"
-    "70A7C658CFDF758186C31DA0548A152B762B5A0100C5F698354E2D5610C452BC4E55D1DAFA"
-    "FA7DC1FBFB6EDCB8F1CEAAD399EDF57ADF363E3EFEA65EAFF79AB1B1B117459A3BFAC74871"
-    "470D8144D222FE87B6BCDC16172B0152DAC050F8DC4EF869DA1AF327A4B63E041212810180"
-    "E3FC81B360417A0D28DB5071A99ED34E7E69F1DA96971A8014EBF4836F260B0E0683ADF5F5"
-    "F54FF6B7B6FE7A736BEBA35B5BFDFB6766A7FDEACA4A2DE0EBD6CEBF47E3112454A56F58B1"
-    "627BC90A0028B6274D7C72DD6D70BC51AE773A340A7EFDC68D1B1FDCDADCFCE0CCBE59EA54"
-    "9D178D8F8D7DCDF8C4F8AB7BDDC9D75755F5159DF1311AEB74EACF47FD401DBD87103F9B28"
-    "FDACDC4E28F8CC51FF1DE1B11E416706483F00F0F43CAEB7AAB47F01971B8E929831FE7D00"
-    "2245EE41502587DDB0236375FF84ADADC153C3C1E0A1C17078FFD656FF5383C1CE27FA5B5B"
-    "9B31FA8FCAFE665EC3781DE9D3F67643EF172B566C4F5A0100C56E0F0B1C2957D419EFD068"
-    "A29B68EF9DF31B1B37CE3BE73E30333D1B7505776EEFECBCAC5355AFEA76BBF774BBDD7BC7"
-    "C6C65E5E55D51D5114C77D0A46A366F44F64187892619D0CE01EFD3E48E31D342EE9ABC701"
-    "73D39F1895431320AA8FD3808D58E2583BFB9D91F40888D505F1F5AAEAD44E3E8E54668D43"
-    "FCF9A0E99838F47E74696767702C84707A63E3C6A73B639DFBC2289C1F0E073ECE5C88EB8E"
-    "E0607C62A2064771613E40D95FB162C5F6B4150050ECF6B4948FEF549D3473A0E2F2BAA5CD"
-    "CDCD8FF537B73E169DE3BE7DFB687BB033DEE9545F303D35FDC5CEB9C3C3E1E805BD5EEF0B"
-    "C7C7C65E38F4C39989898938BD68D27BDFABAA6A22920EB1C96E3A1E92FCD1498F82F7431F"
-    "FC8E739D8D884186A3E164F061CA39371E9ADF49E7EB11C92357552E24F162188D4623E7DC"
-    "2084B053B96AC3D3CED668381C753A63CB5B5B9B17ABAA736E341A5D1C8D46A707839D33C3"
-    "D168398ED48D60647D6395EEB8E34EEA757B34513525953CA1B02E8B6CD51F162B56AC58B1"
-    "62C58A152B56AC58B162C58A152B56AC58B162C58A152B56AC58B162C58A152B56ECA63722"
-    "FA7FA2AD0F1FF68D68610000000049454E44AE426082";
+const char kImageUrl[] =
+    "https://lh3.googleusercontent.com/"
+    "kGH7uF95EhgI0XBRJOGh3l7KvPWsNAFwaxPfksIJloqk-"
+    "mh8cZYG9RITPS65UOtUNry9dnyYYMn5dQtFzVdagSE";
 
 // Converts |log_message| to a raw dictionary value used as a JSON argument to
 // JavaScript functions.
@@ -3846,10 +117,8 @@
 }
 
 void QuickPairHandler::NotifyFastPairError(const base::ListValue* args) {
-  std::vector<uint8_t> bytes;
-  base::HexStringToBytes(kImageBytes, &bytes);
-  image_decoder_->DecodeImage(
-      std::move(bytes),
+  image_decoder_->DecodeImageFromUrl(
+      GURL(kImageUrl),
       /*resize_to_notification_size=*/true,
       base::BindOnce(&QuickPairHandler::OnImageDecodedFastPairError,
                      weak_ptr_factory_.GetWeakPtr()));
@@ -3861,10 +130,8 @@
 }
 
 void QuickPairHandler::NotifyFastPairDiscovery(const base::ListValue* args) {
-  std::vector<uint8_t> bytes;
-  base::HexStringToBytes(kImageBytes, &bytes);
-  image_decoder_->DecodeImage(
-      std::move(bytes),
+  image_decoder_->DecodeImageFromUrl(
+      GURL(kImageUrl),
       /*resize_to_notification_size=*/true,
       base::BindOnce(&QuickPairHandler::OnImageDecodedFastPairDiscovery,
                      weak_ptr_factory_.GetWeakPtr()));
@@ -3877,10 +144,8 @@
 }
 
 void QuickPairHandler::NotifyFastPairPairing(const base::ListValue* args) {
-  std::vector<uint8_t> bytes;
-  base::HexStringToBytes(kImageBytes, &bytes);
-  image_decoder_->DecodeImage(
-      std::move(bytes),
+  image_decoder_->DecodeImageFromUrl(
+      GURL(kImageUrl),
       /*resize_to_notification_size=*/true,
       base::BindOnce(&QuickPairHandler::OnImageDecodedFastPairPairing,
                      weak_ptr_factory_.GetWeakPtr()));
@@ -3893,10 +158,8 @@
 
 void QuickPairHandler::NotifyFastPairApplicationAvailable(
     const base::ListValue* args) {
-  std::vector<uint8_t> bytes;
-  base::HexStringToBytes(kImageBytes, &bytes);
-  image_decoder_->DecodeImage(
-      std::move(bytes),
+  image_decoder_->DecodeImageFromUrl(
+      GURL(kImageUrl),
       /*resize_to_notification_size=*/true,
       base::BindOnce(
           &QuickPairHandler::OnImageDecodedFastPairApplicationAvailable,
@@ -3911,10 +174,8 @@
 
 void QuickPairHandler::NotifyFastPairApplicationInstalled(
     const base::ListValue* args) {
-  std::vector<uint8_t> bytes;
-  base::HexStringToBytes(kImageBytes, &bytes);
-  image_decoder_->DecodeImage(
-      std::move(bytes),
+  image_decoder_->DecodeImageFromUrl(
+      GURL(kImageUrl),
       /*resize_to_notification_size=*/true,
       base::BindOnce(
           &QuickPairHandler::OnImageDecodedFastPairApplicationInstalled,
@@ -3930,10 +191,8 @@
 
 void QuickPairHandler::NotifyFastPairAssociateAccountKey(
     const base::ListValue* args) {
-  std::vector<uint8_t> bytes;
-  base::HexStringToBytes(kImageBytes, &bytes);
-  image_decoder_->DecodeImage(
-      std::move(bytes),
+  image_decoder_->DecodeImageFromUrl(
+      GURL(kImageUrl),
       /*resize_to_notification_size=*/true,
       base::BindOnce(
           &QuickPairHandler::OnImageDecodedFastPairAssociateAccountKey,
diff --git a/chrome/browser/web_applications/BUILD.gn b/chrome/browser/web_applications/BUILD.gn
index 67599af1..aa94adee 100644
--- a/chrome/browser/web_applications/BUILD.gn
+++ b/chrome/browser/web_applications/BUILD.gn
@@ -136,10 +136,6 @@
     "web_app_installation_utils.h",
     "web_app_internals_utils.cc",
     "web_app_internals_utils.h",
-    "web_app_launch_params.cc",
-    "web_app_launch_params.h",
-    "web_app_launch_queue.cc",
-    "web_app_launch_queue.h",
     "web_app_offline.cc",
     "web_app_offline.h",
     "web_app_origin_association_manager.cc",
@@ -174,6 +170,8 @@
     "web_app_url_loader.h",
     "web_app_utils.cc",
     "web_app_utils.h",
+    "web_launch_params_helper.cc",
+    "web_launch_params_helper.h",
   ]
 
   if (is_chromeos_ash || is_chromeos_lacros) {
diff --git a/chrome/browser/web_applications/web_app_launch_params.cc b/chrome/browser/web_applications/web_app_launch_params.cc
deleted file mode 100644
index 1118fd5c3..0000000
--- a/chrome/browser/web_applications/web_app_launch_params.cc
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/web_applications/web_app_launch_params.h"
-
-namespace web_app {
-
-WebAppLaunchParams::WebAppLaunchParams() = default;
-
-WebAppLaunchParams::WebAppLaunchParams(const WebAppLaunchParams&) = default;
-
-WebAppLaunchParams::WebAppLaunchParams(WebAppLaunchParams&&) = default;
-
-WebAppLaunchParams::~WebAppLaunchParams() = default;
-
-WebAppLaunchParams& WebAppLaunchParams::operator=(const WebAppLaunchParams&) =
-    default;
-
-WebAppLaunchParams& WebAppLaunchParams::operator=(WebAppLaunchParams&&) =
-    default;
-
-}  // namespace web_app
diff --git a/chrome/browser/web_applications/web_app_launch_params.h b/chrome/browser/web_applications/web_app_launch_params.h
deleted file mode 100644
index 1a4f887..0000000
--- a/chrome/browser/web_applications/web_app_launch_params.h
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright 2022 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_WEB_APPLICATIONS_WEB_APP_LAUNCH_PARAMS_H_
-#define CHROME_BROWSER_WEB_APPLICATIONS_WEB_APP_LAUNCH_PARAMS_H_
-
-#include <vector>
-
-#include "base/files/file_path.h"
-#include "chrome/browser/web_applications/web_app_id.h"
-#include "url/gurl.h"
-
-namespace web_app {
-
-// Represents the LaunchParams values to be sent to a web app on app launch and
-// whether the launch triggered a navigation or not.
-struct WebAppLaunchParams {
-  WebAppLaunchParams();
-  WebAppLaunchParams(const WebAppLaunchParams&);
-  WebAppLaunchParams(WebAppLaunchParams&&);
-
-  ~WebAppLaunchParams();
-
-  WebAppLaunchParams& operator=(const WebAppLaunchParams&);
-  WebAppLaunchParams& operator=(WebAppLaunchParams&&);
-
-  // Whether this launch triggered a navigation that needs to be awaited before
-  // sending the launch params to the document.
-  bool started_new_navigation = true;
-
-  // The app being launched, used for scope validation.
-  AppId app_id;
-
-  // The URL the web app was launched with. Note that redirects may cause us to
-  // enqueue in a different URL, we still report the original launch target URL
-  // in the launch params.
-  GURL target_url;
-
-  // The directory to launch with (may be empty).
-  base::FilePath dir;
-
-  // The files to launch with (may be empty).
-  std::vector<base::FilePath> paths;
-};
-
-}  // namespace web_app
-
-#endif  // CHROME_BROWSER_WEB_APPLICATIONS_WEB_APP_LAUNCH_PARAMS_H_
diff --git a/chrome/browser/web_applications/web_app_launch_queue.cc b/chrome/browser/web_applications/web_app_launch_queue.cc
deleted file mode 100644
index ff40655..0000000
--- a/chrome/browser/web_applications/web_app_launch_queue.cc
+++ /dev/null
@@ -1,199 +0,0 @@
-// Copyright 2022 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/web_applications/web_app_launch_queue.h"
-
-#include <memory>
-#include <utility>
-#include <vector>
-
-#include "base/files/file_path.h"
-#include "build/chromeos_buildflags.h"
-#include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/web_applications/web_app_registrar.h"
-#include "content/public/browser/file_system_access_entry_factory.h"
-#include "content/public/browser/navigation_handle.h"
-#include "content/public/browser/render_process_host.h"
-#include "content/public/browser/storage_partition.h"
-#include "content/public/browser/web_contents.h"
-#include "mojo/public/cpp/bindings/associated_remote.h"
-#include "storage/browser/file_system/external_mount_points.h"
-#include "third_party/blink/public/common/associated_interfaces/associated_interface_provider.h"
-#include "third_party/blink/public/common/storage_key/storage_key.h"
-#include "third_party/blink/public/mojom/file_system_access/file_system_access_directory_handle.mojom.h"
-#include "third_party/blink/public/mojom/web_launch/web_launch.mojom.h"
-#include "url/origin.h"
-
-namespace web_app {
-
-namespace {
-
-// On Chrome OS paths that exist on an external mount point need to be treated
-// differently to make sure the File System Access code accesses these paths via
-// the correct file system backend. This method checks if this is the case, and
-// updates `entry_path` to the path that should be used by the File System
-// Access implementation.
-content::FileSystemAccessEntryFactory::PathType MaybeRemapPath(
-    base::FilePath* entry_path) {
-#if BUILDFLAG(IS_CHROMEOS_ASH)
-  base::FilePath virtual_path;
-  auto* external_mount_points =
-      storage::ExternalMountPoints::GetSystemInstance();
-  if (external_mount_points->GetVirtualPath(*entry_path, &virtual_path)) {
-    *entry_path = std::move(virtual_path);
-    return content::FileSystemAccessEntryFactory::PathType::kExternal;
-  }
-#endif
-  return content::FileSystemAccessEntryFactory::PathType::kLocal;
-}
-
-class EntriesBuilder {
- public:
-  EntriesBuilder(content::WebContents* web_contents,
-                 const GURL& launch_url,
-                 size_t expected_number_of_entries)
-      : entry_factory_(web_contents->GetMainFrame()
-                           ->GetProcess()
-                           ->GetStoragePartition()
-                           ->GetFileSystemAccessEntryFactory()),
-        context_(blink::StorageKey(url::Origin::Create(launch_url)),
-                 launch_url,
-                 content::GlobalRenderFrameHostId(
-                     web_contents->GetMainFrame()->GetProcess()->GetID(),
-                     web_contents->GetMainFrame()->GetRoutingID())) {
-    entries_.reserve(expected_number_of_entries);
-  }
-
-  void AddFileEntry(const base::FilePath& path) {
-    base::FilePath entry_path = path;
-    content::FileSystemAccessEntryFactory::PathType path_type =
-        MaybeRemapPath(&entry_path);
-    entries_.push_back(entry_factory_->CreateFileEntryFromPath(
-        context_, path_type, entry_path,
-        content::FileSystemAccessEntryFactory::UserAction::kSave));
-  }
-
-  void AddDirectoryEntry(const base::FilePath& path) {
-    base::FilePath entry_path = path;
-    content::FileSystemAccessEntryFactory::PathType path_type =
-        MaybeRemapPath(&entry_path);
-    entries_.push_back(entry_factory_->CreateDirectoryEntryFromPath(
-        context_, path_type, entry_path,
-        content::FileSystemAccessEntryFactory::UserAction::kOpen));
-  }
-
-  std::vector<blink::mojom::FileSystemAccessEntryPtr> Build() {
-    return std::move(entries_);
-  }
-
- private:
-  std::vector<blink::mojom::FileSystemAccessEntryPtr> entries_;
-  scoped_refptr<content::FileSystemAccessEntryFactory> entry_factory_;
-  content::FileSystemAccessEntryFactory::BindingContext context_;
-};
-
-}  // namespace
-
-WebAppLaunchQueue::WebAppLaunchQueue(content::WebContents* web_contents,
-                                     const WebAppRegistrar& registrar)
-    : content::WebContentsObserver(web_contents), registrar_(registrar) {}
-
-WebAppLaunchQueue::~WebAppLaunchQueue() = default;
-
-void WebAppLaunchQueue::Enqueue(WebAppLaunchParams launch_params) {
-  DCHECK(registrar_.IsUrlInAppScope(launch_params.target_url,
-                                    launch_params.app_id));
-  DCHECK(launch_params.dir.empty() ||
-         registrar_.IsSystemApp(launch_params.app_id));
-
-  // Drop the existing queue state if a new launch navigation was started.
-  if (launch_params.started_new_navigation) {
-    Reset();
-    queue_.push_back(std::move(launch_params));
-    pending_navigation_ = true;
-    return;
-  }
-
-  if (!queue_.empty())
-    DCHECK_EQ(launch_params.app_id, queue_.front().app_id);
-  queue_.push_back(std::move(launch_params));
-  if (!pending_navigation_)
-    SendQueuedLaunchParams(web_contents()->GetLastCommittedURL());
-}
-
-void WebAppLaunchQueue::Reset() {
-  queue_.clear();
-  pending_navigation_ = false;
-  last_sent_queued_launch_params_.reset();
-}
-
-const AppId* WebAppLaunchQueue::GetPendingLaunchAppId() const {
-  if (queue_.empty())
-    return nullptr;
-  return &(queue_.front().app_id);
-}
-
-void WebAppLaunchQueue::DidFinishNavigation(content::NavigationHandle* handle) {
-  // Currently, launch data is only sent the primary main frame.
-  if (!handle->IsInPrimaryMainFrame())
-    return;
-
-  if (pending_navigation_) {
-    pending_navigation_ = false;
-    // The launch navigation may have redirected out of the app scope.
-    if (!registrar_.IsUrlInAppScope(handle->GetURL(), queue_.front().app_id)) {
-      Reset();
-      return;
-    }
-
-    SendQueuedLaunchParams(handle->GetURL());
-    return;
-  }
-
-  // Reloads have the last sent launch params re-sent as they may contain live
-  // file handles that should persist across reloads.
-  if (last_sent_queued_launch_params_ &&
-      handle->GetReloadType() != content::ReloadType::NONE) {
-    SendLaunchParams(*last_sent_queued_launch_params_, handle->GetURL());
-    return;
-  }
-
-  // Leaving the document resets all queue state.
-  if (!handle->IsSameDocument())
-    Reset();
-}
-
-void WebAppLaunchQueue::SendQueuedLaunchParams(const GURL& current_url) {
-  for (WebAppLaunchParams& launch_params : queue_) {
-    if (&launch_params == &queue_.back())
-      last_sent_queued_launch_params_ = launch_params;
-    SendLaunchParams(std::move(launch_params), current_url);
-  }
-  queue_.clear();
-}
-
-void WebAppLaunchQueue::SendLaunchParams(WebAppLaunchParams launch_params,
-                                         const GURL& current_url) {
-  DCHECK(registrar_.IsUrlInAppScope(current_url, launch_params.app_id));
-  mojo::AssociatedRemote<blink::mojom::WebLaunchService> launch_service;
-  web_contents()->GetMainFrame()->GetRemoteAssociatedInterfaces()->GetInterface(
-      &launch_service);
-  DCHECK(launch_service);
-
-  if (!launch_params.paths.empty() || !launch_params.dir.empty()) {
-    EntriesBuilder entries_builder(web_contents(), launch_params.target_url,
-                                   launch_params.paths.size() + 1);
-    if (!launch_params.dir.empty())
-      entries_builder.AddDirectoryEntry(launch_params.dir);
-
-    for (const auto& path : launch_params.paths)
-      entries_builder.AddFileEntry(path);
-
-    launch_service->SetLaunchFiles(entries_builder.Build());
-  } else {
-    launch_service->EnqueueLaunchParams(launch_params.target_url);
-  }
-}
-
-}  // namespace web_app
diff --git a/chrome/browser/web_applications/web_app_launch_queue.h b/chrome/browser/web_applications/web_app_launch_queue.h
deleted file mode 100644
index eca3475c..0000000
--- a/chrome/browser/web_applications/web_app_launch_queue.h
+++ /dev/null
@@ -1,81 +0,0 @@
-// Copyright 2022 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_WEB_APPLICATIONS_WEB_APP_LAUNCH_QUEUE_H_
-#define CHROME_BROWSER_WEB_APPLICATIONS_WEB_APP_LAUNCH_QUEUE_H_
-
-#include <vector>
-
-#include "chrome/browser/web_applications/web_app_id.h"
-#include "chrome/browser/web_applications/web_app_launch_params.h"
-#include "content/public/browser/web_contents_observer.h"
-
-class GURL;
-
-namespace content {
-
-class WebContents;
-class NavigationHandle;
-
-}  // namespace content
-
-namespace web_app {
-
-class WebAppRegistrar;
-
-// This handles passing WebAppLaunchParams through to its WebContents.
-// There are three scenarios in which launch params are sent to a WebContents:
-// - Navigating launches: The launch params are stored until the navigation
-//   completes.
-//
-// - Non-navigating launches: The launch params are sent immediately to the
-//   WebContents unless there was a navigating launch still pending, then it
-//   gets added to the queue.
-//
-// - Page reloads: The last launch params sent to the page get resent.
-//   Note that this is not in the spec and a bit magical. This is to cater for
-//   the scenario where a user opens a web app via a file handler which provides
-//   a file handle to the app. Without this reload mechanism the page would lose
-//   access to the file handle if the user were to refresh the page.
-class WebAppLaunchQueue : public content::WebContentsObserver {
- public:
-  WebAppLaunchQueue(content::WebContents* web_contents,
-                    const WebAppRegistrar& registrar);
-
-  WebAppLaunchQueue(const WebAppLaunchQueue&) = delete;
-  WebAppLaunchQueue& operator=(const WebAppLaunchQueue&) = delete;
-
-  ~WebAppLaunchQueue() override;
-
-  void Enqueue(WebAppLaunchParams launch_params);
-
-  const AppId* GetPendingLaunchAppId() const;
-
- private:
-  // Reset self back to the initial state.
-  void Reset();
-
-  // content::WebContentsObserver:
-  void DidFinishNavigation(content::NavigationHandle* handle) override;
-
-  void SendQueuedLaunchParams(const GURL& current_url);
-  void SendLaunchParams(WebAppLaunchParams launch_params,
-                        const GURL& current_url);
-
-  const WebAppRegistrar& registrar_;
-
-  // Launch params queued up to be sent to the WebContents.
-  std::vector<WebAppLaunchParams> queue_;
-
-  // Whether to send the queue of launch params on the next navigation.
-  bool pending_navigation_ = false;
-
-  // A copy of the last sent launch params ready to resend should the user
-  // reload the page.
-  absl::optional<WebAppLaunchParams> last_sent_queued_launch_params_;
-};
-
-}  // namespace web_app
-
-#endif  // CHROME_BROWSER_WEB_APPLICATIONS_WEB_APP_LAUNCH_QUEUE_H_
diff --git a/chrome/browser/web_applications/web_app_tab_helper.cc b/chrome/browser/web_applications/web_app_tab_helper.cc
index aea1b69..4610de3 100644
--- a/chrome/browser/web_applications/web_app_tab_helper.cc
+++ b/chrome/browser/web_applications/web_app_tab_helper.cc
@@ -14,7 +14,6 @@
 #include "chrome/browser/web_applications/policy/web_app_policy_manager.h"
 #include "chrome/browser/web_applications/system_web_apps/system_web_app_manager.h"
 #include "chrome/browser/web_applications/web_app_audio_focus_id_map.h"
-#include "chrome/browser/web_applications/web_app_launch_queue.h"
 #include "chrome/browser/web_applications/web_app_provider.h"
 #include "chrome/browser/web_applications/web_app_ui_manager.h"
 #include "content/public/browser/media_session.h"
@@ -57,14 +56,6 @@
   return has_loaded_non_about_blank_page_;
 }
 
-WebAppLaunchQueue& WebAppTabHelper::EnsureLaunchQueue() {
-  if (!launch_queue_) {
-    launch_queue_ = std::make_unique<WebAppLaunchQueue>(web_contents(),
-                                                        provider_->registrar());
-  }
-  return *launch_queue_;
-}
-
 void WebAppTabHelper::SetAppId(const AppId& app_id) {
   DCHECK(app_id.empty() || provider_->registrar().IsInstalled(app_id));
   if (app_id_ == app_id)
diff --git a/chrome/browser/web_applications/web_app_tab_helper.h b/chrome/browser/web_applications/web_app_tab_helper.h
index 61a363dc..373a36f 100644
--- a/chrome/browser/web_applications/web_app_tab_helper.h
+++ b/chrome/browser/web_applications/web_app_tab_helper.h
@@ -23,7 +23,6 @@
 namespace web_app {
 
 class WebAppProvider;
-class WebAppLaunchQueue;
 
 // Per-tab web app helper. Allows to associate a tab (web page) with a web app.
 class WebAppTabHelper : public content::WebContentsUserData<WebAppTabHelper>,
@@ -45,8 +44,6 @@
   bool acting_as_app() const { return acting_as_app_; }
   void set_acting_as_app(bool acting_as_app) { acting_as_app_ = acting_as_app; }
 
-  WebAppLaunchQueue& EnsureLaunchQueue();
-
   // content::WebContentsObserver:
   void ReadyToCommitNavigation(
       content::NavigationHandle* navigation_handle) override;
@@ -103,10 +100,6 @@
 
   bool has_loaded_non_about_blank_page_ = false;
 
-  // Use unique_ptr for lazy instantiation as most browser tabs have no need to
-  // incur this memory overhead.
-  std::unique_ptr<WebAppLaunchQueue> launch_queue_;
-
   base::ScopedObservation<WebAppInstallManager, WebAppInstallManagerObserver>
       observation_{this};
   raw_ptr<WebAppProvider> provider_ = nullptr;
diff --git a/chrome/browser/web_applications/web_launch_params_helper.cc b/chrome/browser/web_applications/web_launch_params_helper.cc
new file mode 100644
index 0000000..b7ea03d1
--- /dev/null
+++ b/chrome/browser/web_applications/web_launch_params_helper.cc
@@ -0,0 +1,217 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/web_applications/web_launch_params_helper.h"
+
+#include <memory>
+#include <utility>
+#include <vector>
+
+#include "base/files/file_path.h"
+#include "build/chromeos_buildflags.h"
+#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/web_applications/web_app_registrar.h"
+#include "content/public/browser/file_system_access_entry_factory.h"
+#include "content/public/browser/navigation_handle.h"
+#include "content/public/browser/render_process_host.h"
+#include "content/public/browser/storage_partition.h"
+#include "content/public/browser/web_contents.h"
+#include "mojo/public/cpp/bindings/associated_remote.h"
+#include "storage/browser/file_system/external_mount_points.h"
+#include "third_party/blink/public/common/associated_interfaces/associated_interface_provider.h"
+#include "third_party/blink/public/common/storage_key/storage_key.h"
+#include "third_party/blink/public/mojom/file_system_access/file_system_access_directory_handle.mojom.h"
+#include "third_party/blink/public/mojom/web_launch/web_launch.mojom.h"
+#include "url/origin.h"
+
+namespace web_app {
+
+WEB_CONTENTS_USER_DATA_KEY_IMPL(WebLaunchParamsHelper);
+
+namespace {
+
+// On Chrome OS paths that exist on an external mount point need to be treated
+// differently to make sure the File System Access code accesses these paths via
+// the correct file system backend. This method checks if this is the case, and
+// updates `entry_path` to the path that should be used by the File System
+// Access implementation.
+content::FileSystemAccessEntryFactory::PathType MaybeRemapPath(
+    base::FilePath* entry_path) {
+#if BUILDFLAG(IS_CHROMEOS_ASH)
+  base::FilePath virtual_path;
+  auto* external_mount_points =
+      storage::ExternalMountPoints::GetSystemInstance();
+  if (external_mount_points->GetVirtualPath(*entry_path, &virtual_path)) {
+    *entry_path = std::move(virtual_path);
+    return content::FileSystemAccessEntryFactory::PathType::kExternal;
+  }
+#endif
+  return content::FileSystemAccessEntryFactory::PathType::kLocal;
+}
+
+class EntriesBuilder {
+ public:
+  EntriesBuilder(content::WebContents* web_contents,
+                 const GURL& launch_url,
+                 size_t expected_number_of_entries)
+      : entry_factory_(web_contents->GetMainFrame()
+                           ->GetProcess()
+                           ->GetStoragePartition()
+                           ->GetFileSystemAccessEntryFactory()),
+        context_(blink::StorageKey(url::Origin::Create(launch_url)),
+                 launch_url,
+                 content::GlobalRenderFrameHostId(
+                     web_contents->GetMainFrame()->GetProcess()->GetID(),
+                     web_contents->GetMainFrame()->GetRoutingID())) {
+    entries_.reserve(expected_number_of_entries);
+  }
+
+  void AddFileEntry(const base::FilePath& path) {
+    base::FilePath entry_path = path;
+    content::FileSystemAccessEntryFactory::PathType path_type =
+        MaybeRemapPath(&entry_path);
+    entries_.push_back(entry_factory_->CreateFileEntryFromPath(
+        context_, path_type, entry_path,
+        content::FileSystemAccessEntryFactory::UserAction::kSave));
+  }
+
+  void AddDirectoryEntry(const base::FilePath& path) {
+    base::FilePath entry_path = path;
+    content::FileSystemAccessEntryFactory::PathType path_type =
+        MaybeRemapPath(&entry_path);
+    entries_.push_back(entry_factory_->CreateDirectoryEntryFromPath(
+        context_, path_type, entry_path,
+        content::FileSystemAccessEntryFactory::UserAction::kOpen));
+  }
+
+  std::vector<blink::mojom::FileSystemAccessEntryPtr> Build() {
+    return std::move(entries_);
+  }
+
+ private:
+  std::vector<blink::mojom::FileSystemAccessEntryPtr> entries_;
+  scoped_refptr<content::FileSystemAccessEntryFactory> entry_factory_;
+  content::FileSystemAccessEntryFactory::BindingContext context_;
+};
+
+}  // namespace
+
+WebLaunchParamsHelper::~WebLaunchParamsHelper() = default;
+
+// static
+WebLaunchParamsHelper* WebLaunchParamsHelper::GetForWebContents(
+    content::WebContents* web_contents) {
+  return static_cast<WebLaunchParamsHelper*>(
+      web_contents->GetUserData(UserDataKey()));
+}
+
+// static
+void WebLaunchParamsHelper::EnqueueLaunchParams(
+    content::WebContents* web_contents,
+    const WebAppRegistrar& web_app_registrar,
+    AppId app_id,
+    bool await_navigation,
+    GURL launch_url,
+    base::FilePath launch_dir,
+    std::vector<base::FilePath> launch_paths) {
+  auto helper = base::WrapUnique(new WebLaunchParamsHelper(
+      web_contents, web_app_registrar, std::move(app_id), std::move(launch_url),
+      std::move(launch_dir), std::move(launch_paths)));
+
+  auto* helper_ptr = helper.get();
+  web_contents->SetUserData(UserDataKey(), std::move(helper));
+  helper_ptr->Start(await_navigation);
+}
+
+WebLaunchParamsHelper::WebLaunchParamsHelper(
+    content::WebContents* web_contents,
+    const WebAppRegistrar& web_app_registrar,
+    AppId app_id,
+    GURL launch_url,
+    base::FilePath launch_dir,
+    std::vector<base::FilePath> launch_paths)
+    : content::WebContentsObserver(web_contents),
+      content::WebContentsUserData<WebLaunchParamsHelper>(*web_contents),
+      web_app_registrar_(web_app_registrar),
+      app_id_(std::move(app_id)),
+      launch_url_(std::move(launch_url)),
+      launch_dir_(std::move(launch_dir)),
+      launch_paths_(std::move(launch_paths)) {
+  DCHECK(web_app_registrar_.IsUrlInAppScope(launch_url_, app_id_));
+  DCHECK(launch_dir_.empty() || web_app_registrar.IsSystemApp(app_id_));
+}
+
+void WebLaunchParamsHelper::Start(bool await_navigation) {
+  // Wait for DidFinishNavigation before enqueuing.
+  if (await_navigation)
+    return;
+
+  SendLaunchEntries(web_contents()->GetLastCommittedURL());
+}
+
+void WebLaunchParamsHelper::DidFinishNavigation(
+    content::NavigationHandle* handle) {
+  // Currently, launch data is only sent for the main frame.
+  // TODO(https://crbug.com/1218946): With MPArch there may be multiple main
+  // frames. This caller was converted automatically to the primary main frame
+  // to preserve its semantics. Follow up to confirm correctness.
+  if (!handle->IsInPrimaryMainFrame())
+    return;
+
+  if (!web_app_registrar_.IsUrlInAppScope(handle->GetURL(), app_id_)) {
+    DestroySelf();
+    return;
+  }
+
+  // Launch params still haven't been enqueued, or they have been enqueued and
+  // this is a reload.
+  if (!has_sent_launch_entries_ ||
+      handle->GetReloadType() != content::ReloadType::NONE) {
+    SendLaunchEntries(handle->GetURL());
+    return;
+  }
+
+  // Same document navs (such as `history.pushState`) can be ignored.
+  if (handle->IsSameDocument())
+    return;
+
+  // Any other navigation indicates that launch entries will not be enqueues and
+  // our job is done here.
+  DestroySelf();
+}
+
+void WebLaunchParamsHelper::SendLaunchEntries(const GURL& url) {
+  DCHECK(web_app_registrar_.IsUrlInAppScope(url, app_id_));
+  mojo::AssociatedRemote<blink::mojom::WebLaunchService> launch_service;
+  web_contents()->GetMainFrame()->GetRemoteAssociatedInterfaces()->GetInterface(
+      &launch_service);
+  DCHECK(launch_service);
+  has_sent_launch_entries_ = true;
+
+  if (!launch_paths_.empty() || !launch_dir_.empty()) {
+    EntriesBuilder entries_builder(web_contents(), launch_url_,
+                                   launch_paths_.size() + 1);
+    if (!launch_dir_.empty())
+      entries_builder.AddDirectoryEntry(launch_dir_);
+
+    for (const auto& path : launch_paths_)
+      entries_builder.AddFileEntry(path);
+
+    launch_service->SetLaunchFiles(entries_builder.Build());
+  } else {
+    launch_service->EnqueueLaunchParams(launch_url_);
+  }
+}
+
+void WebLaunchParamsHelper::CloseApp() {
+  web_contents()->Close();
+  // `this` is deleted.
+}
+
+void WebLaunchParamsHelper::DestroySelf() {
+  web_contents()->RemoveUserData(UserDataKey());
+  // `this` is deleted.
+}
+
+}  // namespace web_app
diff --git a/chrome/browser/web_applications/web_launch_params_helper.h b/chrome/browser/web_applications/web_launch_params_helper.h
new file mode 100644
index 0000000..d4d15a1
--- /dev/null
+++ b/chrome/browser/web_applications/web_launch_params_helper.h
@@ -0,0 +1,113 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_WEB_APPLICATIONS_WEB_LAUNCH_PARAMS_HELPER_H_
+#define CHROME_BROWSER_WEB_APPLICATIONS_WEB_LAUNCH_PARAMS_HELPER_H_
+
+#include <vector>
+
+#include "base/files/file_path.h"
+#include "base/memory/weak_ptr.h"
+#include "chrome/browser/web_applications/web_app_id.h"
+#include "content/public/browser/web_contents_observer.h"
+#include "content/public/browser/web_contents_user_data.h"
+#include "url/gurl.h"
+
+namespace content {
+
+class WebContents;
+class NavigationHandle;
+
+}  // namespace content
+
+namespace web_app {
+
+class WebAppRegistrar;
+
+// A helper for sending launch paths to the renderer process.
+//
+// If `await_navigation` is set, it waits for the first DidFinishNavigation
+// before enqueuing launch params, and otherwise enqueues them immediately.
+// DidFinishNavigation takes into account server redirects. Will re-enqueue if
+// the page reloads without navigating away.
+//
+// Note: The lifetime of this class is tied to the WebContents it is attached
+// to. However, it will often destroy itself before the WebContents, such as
+// when the WebContents navigates away from the initial URL.
+class WebLaunchParamsHelper
+    : public content::WebContentsObserver,
+      public content::WebContentsUserData<WebLaunchParamsHelper> {
+ public:
+  WEB_CONTENTS_USER_DATA_KEY_DECL();
+
+  WebLaunchParamsHelper(const WebLaunchParamsHelper&) = delete;
+  WebLaunchParamsHelper& operator=(const WebLaunchParamsHelper&) = delete;
+
+  ~WebLaunchParamsHelper() override;
+
+  static WebLaunchParamsHelper* GetForWebContents(
+      content::WebContents* web_contents);
+
+  // Enqueues a LaunchParams into the `web_contents` with the provided launch_*
+  // params. Only enqueues into pages inside `app_scope`. Will enqueue
+  // immediately unless `await_navigation` is set in which case it waits for the
+  // next DidFinishNavigation event. Only system web apps may provide a
+  // |launch_dir|.
+  static void EnqueueLaunchParams(content::WebContents* web_contents,
+                                  const WebAppRegistrar& web_app_registrar,
+                                  AppId app_id,
+                                  bool await_navigation,
+                                  GURL launch_url,
+                                  base::FilePath launch_dir,
+                                  std::vector<base::FilePath> launch_paths);
+
+  const std::vector<base::FilePath>& launch_paths() { return launch_paths_; }
+
+ private:
+  WebLaunchParamsHelper(content::WebContents* web_contents,
+                        const WebAppRegistrar& web_app_registrar,
+                        AppId app_id,
+                        GURL launch_url,
+                        base::FilePath launch_dir,
+                        std::vector<base::FilePath> launch_paths);
+
+  void Start(bool await_navigation);
+
+  // content::WebContentsObserver:
+  void DidFinishNavigation(content::NavigationHandle* handle) override;
+
+  // Send the launch entries to the renderer.
+  void SendLaunchEntries(const GURL& current_url);
+
+  // Closes the app window/tab. `this` will be deleted, return immediately after
+  // calling.
+  void CloseApp();
+
+  // Removes self from the parent WebContents. `this` will be deleted, return
+  // immediately after calling.
+  void DestroySelf();
+
+  const WebAppRegistrar& web_app_registrar_;
+  const AppId app_id_;
+
+  // The URL the launch entries are for. Note that redirects may cause us to
+  // enqueue in a different URL, we still report the original launch target URL
+  // in the launch params.
+  GURL launch_url_;
+
+  // The directory to launch with (may be empty).
+  base::FilePath launch_dir_;
+
+  // The files to launch with (may be empty).
+  std::vector<base::FilePath> launch_paths_;
+
+  // False until the first time launch params have been enqueued.
+  bool has_sent_launch_entries_ = false;
+
+  base::WeakPtrFactory<WebLaunchParamsHelper> weak_ptr_factory_{this};
+};
+
+}  // namespace web_app
+
+#endif  // CHROME_BROWSER_WEB_APPLICATIONS_WEB_LAUNCH_PARAMS_HELPER_H_
diff --git a/chrome/build/linux.pgo.txt b/chrome/build/linux.pgo.txt
index 156ce54..8405218 100644
--- a/chrome/build/linux.pgo.txt
+++ b/chrome/build/linux.pgo.txt
@@ -1 +1 @@
-chrome-linux-main-1647841719-dde64178470992bb22902de35c7f6da437ef8896.profdata
+chrome-linux-main-1647862756-19ba98d387bf03f9cfee450c83a2a6682b4d5873.profdata
diff --git a/chrome/build/mac-arm.pgo.txt b/chrome/build/mac-arm.pgo.txt
index 2ad9d13..9bd9f01 100644
--- a/chrome/build/mac-arm.pgo.txt
+++ b/chrome/build/mac-arm.pgo.txt
@@ -1 +1 @@
-chrome-mac-arm-main-1647841719-a454e0fbfad5fcdae2fb560d898b3d0572057efe.profdata
+chrome-mac-arm-main-1647862756-6b6f68fda27570f6e0bedcbf0d3ede3d2d85eb13.profdata
diff --git a/chrome/build/mac.pgo.txt b/chrome/build/mac.pgo.txt
index 84cc751..fe2cd9e 100644
--- a/chrome/build/mac.pgo.txt
+++ b/chrome/build/mac.pgo.txt
@@ -1 +1 @@
-chrome-mac-main-1647841719-56b15eaffce97b568aeef52ba6401417768e32df.profdata
+chrome-mac-main-1647862756-9abf205e0020a21ce5f964a078740bba9a1fe6fc.profdata
diff --git a/chrome/build/win32.pgo.txt b/chrome/build/win32.pgo.txt
index b170717..b0060bf 100644
--- a/chrome/build/win32.pgo.txt
+++ b/chrome/build/win32.pgo.txt
@@ -1 +1 @@
-chrome-win32-main-1647831464-4da3ccbeb196fd8e5d1ba40710f9ef1f77550d0f.profdata
+chrome-win32-main-1647862756-3446e382a7607dc4e05e6bbb406da2af27ad61a9.profdata
diff --git a/chrome/chrome_paks.gni b/chrome/chrome_paks.gni
index 10acea1..cd36fa6 100644
--- a/chrome/chrome_paks.gni
+++ b/chrome/chrome_paks.gni
@@ -28,6 +28,7 @@
     forward_variables_from(invoker,
                            [
                              "copy_data_to_bundle",
+                             "mark_as_data",
                              "repack_allowlist",
                              "visibility",
                            ])
@@ -89,6 +90,7 @@
     forward_variables_from(invoker,
                            [
                              "copy_data_to_bundle",
+                             "mark_as_data",
                              "repack_allowlist",
                              "visibility",
                            ])
@@ -418,6 +420,7 @@
 #     for.
 #   copy_data_to_bundle:
 #   deps:
+#   mark_as_data:
 #   output_dir:
 #   public_deps:
 #   repack_allowlist:
@@ -431,6 +434,7 @@
                            [
                              "copy_data_to_bundle",
                              "deps",
+                             "mark_as_data",
                              "output_dir",
                              "repack_allowlist",
                              "visibility",
@@ -444,6 +448,7 @@
                              [
                                "copy_data_to_bundle",
                                "deps",
+                               "mark_as_data",
                                "output_dir",
                                "repack_allowlist",
                                "visibility",
@@ -456,6 +461,7 @@
                            [
                              "copy_data_to_bundle",
                              "deps",
+                             "mark_as_data",
                              "output_dir",
                              "repack_allowlist",
                              "visibility",
@@ -470,6 +476,7 @@
                            [
                              "copy_data_to_bundle",
                              "deps",
+                             "mark_as_data",
                              "visibility",
                            ])
     if (defined(invoker.locale_allowlist)) {
@@ -498,9 +505,6 @@
     if (enable_hidpi) {
       public_deps += [ ":${target_name}_200_percent" ]
     }
-    if (!defined(invoker.copy_data_to_bundle) || !invoker.copy_data_to_bundle) {
-      data_deps = public_deps
-    }
     if (defined(invoker.public_deps)) {
       public_deps += invoker.public_deps
     }
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
index 64b6102..78648e1 100644
--- a/chrome/common/chrome_features.cc
+++ b/chrome/common/chrome_features.cc
@@ -395,12 +395,6 @@
 const base::Feature kEnableAllSystemWebApps{"EnableAllSystemWebApps",
                                             base::FEATURE_DISABLED_BY_DEFAULT};
 
-#if BUILDFLAG(IS_WIN)
-// Enables users to create a desktop shortcut for incognito mode.
-const base::Feature kEnableIncognitoShortcutOnDesktop{
-    "EnableIncognitoShortcutOnDesktop", base::FEATURE_DISABLED_BY_DEFAULT};
-#endif
-
 // Enable the restricted web APIs for high-trusted apps.
 const base::Feature kEnableRestrictedWebApis{"EnableRestrictedWebApis",
                                              base::FEATURE_ENABLED_BY_DEFAULT};
diff --git a/chrome/common/chrome_features.h b/chrome/common/chrome_features.h
index adc77ac9..995cd4a 100644
--- a/chrome/common/chrome_features.h
+++ b/chrome/common/chrome_features.h
@@ -265,11 +265,6 @@
 COMPONENT_EXPORT(CHROME_FEATURES)
 extern const base::Feature kEnableAmbientAuthenticationInIncognito;
 
-#if BUILDFLAG(IS_WIN)
-COMPONENT_EXPORT(CHROME_FEATURES)
-extern const base::Feature kEnableIncognitoShortcutOnDesktop;
-#endif
-
 COMPONENT_EXPORT(CHROME_FEATURES)
 extern const base::Feature kEnableRestrictedWebApis;
 
diff --git a/chrome/test/data/android/cookie.html b/chrome/test/data/android/cookie.html
index a0e2358..8ae27cc3 100644
--- a/chrome/test/data/android/cookie.html
+++ b/chrome/test/data/android/cookie.html
@@ -13,10 +13,7 @@
     }
 
     function getCookie() {
-      if (document.cookie)
-        return document.cookie;
-
-      return '';
+      return document.cookie;
     }
   </script>
   <body>Test for setting and getting cookies.</body>
diff --git a/chrome/test/data/web_apps/route_to_existing_client_navigate_always.json b/chrome/test/data/web_apps/route_to_existing_client_navigate_always.json
deleted file mode 100644
index 15f6dae..0000000
--- a/chrome/test/data/web_apps/route_to_existing_client_navigate_always.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-  "name": "route_to: existing-client, navigate_existing_client: always",
-  "start_url": "basic.html?route_to=existing-client&navigate=always",
-  "display": "standalone",
-  "launch_handler": {
-    "route_to": "existing-client",
-    "navigate_existing_client": "always"
-  }
-}
diff --git a/chromeos/services/cros_healthd/testing/bindings/mojom/BUILD.gn b/chromeos/services/cros_healthd/testing/bindings/mojom/BUILD.gn
new file mode 100644
index 0000000..072dc4c70
--- /dev/null
+++ b/chromeos/services/cros_healthd/testing/bindings/mojom/BUILD.gn
@@ -0,0 +1,9 @@
+# Copyright 2022 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import("//mojo/public/tools/bindings/mojom.gni")
+
+mojom("mojom") {
+  sources = [ "state.mojom" ]
+}
diff --git a/chromeos/services/cros_healthd/testing/bindings/mojom/OWNERS b/chromeos/services/cros_healthd/testing/bindings/mojom/OWNERS
new file mode 100644
index 0000000..82b6623
--- /dev/null
+++ b/chromeos/services/cros_healthd/testing/bindings/mojom/OWNERS
@@ -0,0 +1,5 @@
+per-file *.mojom=set noparent
+per-file *.mojom=file://ipc/SECURITY_OWNERS
+per-file *.mojom=file://chromeos/SECURITY_OWNERS
+per-file *_mojom_traits*.*=set noparent
+per-file *_mojom_traits*.*=file://ipc/SECURITY_OWNERS
diff --git a/chromeos/services/cros_healthd/testing/bindings/mojom/state.mojom b/chromeos/services/cros_healthd/testing/bindings/mojom/state.mojom
new file mode 100644
index 0000000..f1192f7
--- /dev/null
+++ b/chromeos/services/cros_healthd/testing/bindings/mojom/state.mojom
@@ -0,0 +1,43 @@
+// Copyright 2022 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+module chromeos.cros_healthd.connectivity.mojom;
+
+// State provides interface to sync the internal state of connectivity test
+// between two context object in each processes.
+interface State {
+  // The following functions are for mojo method with response parameters. (
+  // e.g. |Foo() => ();|).
+  //
+  // LastCallHasNext returns whether there are more response parameters to be
+  // tested from the function last called.
+  // Only the function with response parameters sets this state. Otherwise it is
+  // undefined behavior.
+  LastCallHasNext() => (bool has_next);
+
+  // The following functions are for mojo method without response parameters. (
+  // e.g. |Foo();|).
+  //
+  // WaitLastCall returns after the last function call finished. This should be
+  // used before each call to a function without response parameters.
+  WaitLastCall() => ();
+  // FulfillLastCallCallback fulfills the callback function of |WaitLastCall|.
+  // When connection error ocurrs (e.g. Interfaces mismatch), the connection
+  // will be reset. In this case, the callback of |WaitRemoteLastCall| won't be
+  // called. We cannot drop the callback because the |State| interface is still
+  // connected. Instead, this function is used to call the remote callback from
+  // this side.
+  FulfillLastCallCallback();
+};
+
+// Provides methods to bootstrap the test objects between two processes.
+interface ConnectivityTestProvider {
+  // Binds bidirectional state connections to the context object.
+  BindContext(
+    pending_remote<State> remote, pending_receiver<State> receiver);
+
+  // Binds a test provider to be tested. The |interface_name| is used to
+  // identify what interface the caller want to test.
+  BindTestProvider(string interface_name, handle<message_pipe> receiver);
+};
diff --git a/chromeos/services/cros_healthd/testing/bindings/templates/connectivity-forward.h.j2 b/chromeos/services/cros_healthd/testing/bindings/templates/connectivity-forward.h.j2
new file mode 100644
index 0000000..e92622e4
--- /dev/null
+++ b/chromeos/services/cros_healthd/testing/bindings/templates/connectivity-forward.h.j2
@@ -0,0 +1,58 @@
+// Copyright 2021 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+{%- set header_guard = "%s_CONNECTIVITY_FORWARD_H_"|format(
+        module.path|upper|replace("/","_")|replace(".","_")|
+            replace("-", "_")) %}
+
+{%- macro namespace_begin() %}
+{%-   for namespace in namespaces_as_array %}
+namespace {{namespace}} {
+{%-   endfor %}
+{%- endmacro %}
+
+{%- macro namespace_end() %}
+{%-   for namespace in namespaces_as_array|reverse %}
+}  // namespace {{namespace}}
+{%-   endfor %}
+{%- endmacro %}
+
+
+#ifndef {{header_guard}}
+#define {{header_guard}}
+
+// This header is for internal use. Don't include it directly. Insteadly,
+// include:
+//   {{module.path}}-connectivity.h
+
+{{namespace_begin()}}
+
+{%- for interface in module.interfaces %}
+class {{interface.mojom_name}}TestProvider;
+class {{interface.mojom_name}}TestConsumer;
+{%-   for enum in interface.enums %}
+class {{interface.mojom_name}}_{{enum.mojom_name}}DataGenerator;
+{%-   endfor %}
+{%- endfor %}
+
+{%-  for struct in module.structs %}
+class {{struct.mojom_name}}DataGenerator;
+class {{struct.mojom_name}}NullableDataGenerator;
+{%-   for enum in struct.enums %}
+class {{struct.mojom_name}}_{{enum.mojom_name}}DataGenerator;
+{%-   endfor %}
+{%-  endfor %}
+
+{%-  for union in module.unions %}
+class {{union.mojom_name}}DataGenerator;
+class {{union.mojom_name}}NullableDataGenerator;
+{%-  endfor %}
+
+{%-  for enum in module.enums %}
+class {{enum.mojom_name}}DataGenerator;
+{%-  endfor %}
+
+{{namespace_end()}}
+
+#endif  // {{header_guard}}
diff --git a/chromeos/services/cros_healthd/testing/bindings/templates/connectivity.cc.j2 b/chromeos/services/cros_healthd/testing/bindings/templates/connectivity.cc.j2
new file mode 100644
index 0000000..dcb039b
--- /dev/null
+++ b/chromeos/services/cros_healthd/testing/bindings/templates/connectivity.cc.j2
@@ -0,0 +1,56 @@
+// Copyright 2021 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+{%- macro namespace_begin() %}
+{%-   for namespace in namespaces_as_array %}
+namespace {{namespace}} {
+{%-   endfor %}
+{%- endmacro %}
+
+{%- macro namespace_end() %}
+{%-   for namespace in namespaces_as_array|reverse %}
+}  // namespace {{namespace}}
+{%-   endfor %}
+{%- endmacro %}
+
+#include "{{module.path}}-connectivity.h"
+
+#include <base/callback_helpers.h>
+#include <base/check.h>
+#include <base/logging.h>
+
+#include "chromeos/services/cros_healthd/testing/bindings/local_state.h"
+#include "chromeos/services/cros_healthd/testing/bindings/remote_state.h"
+#include "chromeos/services/cros_healthd/testing/bindings/utils.h"
+
+{%- for imp in module.imports %}
+#include "{{imp.path}}-connectivity.h"
+{%  endfor %}
+
+{{namespace_begin()}}
+
+{%- for interface in module.interfaces %}
+{%    include "test-provider.cc.j2" %}
+{%    include "test-consumer.cc.j2" %}
+{%    for enum in interface.enums %}
+{%      include "enum-generator.cc.j2" %}
+{%    endfor %}
+{%- endfor %}
+
+{%- for struct in module.structs %}
+{%    include "struct-generator.cc.j2" %}
+{%    for enum in struct.enums %}
+{%      include "enum-generator.cc.j2" %}
+{%    endfor %}
+{%  endfor %}
+
+{%  for union in module.unions %}
+{%    include "union-generator.cc.j2" %}
+{%  endfor %}
+
+{%  for enum in module.enums %}
+{%    include "enum-generator.cc.j2" %}
+{%  endfor %}
+
+{{namespace_end()}}
diff --git a/chromeos/services/cros_healthd/testing/bindings/templates/connectivity.h.j2 b/chromeos/services/cros_healthd/testing/bindings/templates/connectivity.h.j2
new file mode 100644
index 0000000..508f2566
--- /dev/null
+++ b/chromeos/services/cros_healthd/testing/bindings/templates/connectivity.h.j2
@@ -0,0 +1,70 @@
+// Copyright 2021 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+{%- set header_guard = "%s_CONNECTIVITY_H_"|format(
+        module.path|upper|replace("/","_")|replace(".","_")|
+            replace("-", "_")) %}
+
+{%- macro namespace_begin() %}
+{%-   for namespace in namespaces_as_array %}
+namespace {{namespace}} {
+{%-   endfor %}
+{%- endmacro %}
+
+{%- macro namespace_end() %}
+{%-   for namespace in namespaces_as_array|reverse %}
+}  // namespace {{namespace}}
+{%-   endfor %}
+{%- endmacro %}
+
+
+#ifndef {{header_guard}}
+#define {{header_guard}}
+
+#include <base/memory/weak_ptr.h>
+#include <mojo/public/cpp/bindings/pending_receiver.h>
+#include <mojo/public/cpp/bindings/receiver_set.h>
+#include <mojo/public/cpp/bindings/remote.h>
+
+#include "chromeos/services/cros_healthd/testing/bindings/context.h"
+#include "chromeos/services/cros_healthd/testing/bindings/data_generator.h"
+#include "{{module.path}}.h"
+#include "{{module.path}}-connectivity-forward.h"
+
+{%- for imp in module.imports %}
+#include "{{imp.path}}-connectivity.h"
+{%  endfor %}
+
+{%- for header in extra_headers %}
+#include "{{header}}"
+{%  endfor %}
+
+{{namespace_begin()}}
+
+{%- for interface in module.interfaces %}
+{%    include "test-provider.h.j2" %}
+{%    include "test-consumer.h.j2" %}
+{%    for enum in interface.enums %}
+{%      include "enum-generator.h.j2" %}
+{%    endfor %}
+{%- endfor %}
+
+{%  for struct in module.structs %}
+{%    include "struct-generator.h.j2" %}
+{%    for enum in struct.enums %}
+{%      include "enum-generator.h.j2" %}
+{%    endfor %}
+{%  endfor %}
+
+{%  for union in module.unions %}
+{%    include "union-generator.h.j2" %}
+{%  endfor %}
+
+{%  for enum in module.enums %}
+{%    include "enum-generator.h.j2" %}
+{%  endfor %}
+
+{{namespace_end()}}
+
+#endif  // {{header_guard}}
diff --git a/chromeos/services/cros_healthd/testing/bindings/templates/enum-generator.cc.j2 b/chromeos/services/cros_healthd/testing/bindings/templates/enum-generator.cc.j2
new file mode 100644
index 0000000..9b849bda
--- /dev/null
+++ b/chromeos/services/cros_healthd/testing/bindings/templates/enum-generator.cc.j2
@@ -0,0 +1,26 @@
+{%- set class_name = enum | get_name_for_kind(flatten_nested_kind=True)
+                                                          ~ "DataGenerator" -%}
+
+std::unique_ptr<{{class_name}}> {{class_name}}::Create(
+    ::chromeos::cros_healthd::connectivity::Context*) {
+  return std::unique_ptr<{{class_name}}>(new {{class_name}}());
+}
+
+{{enum | get_name_for_kind}} {{class_name}}::Generate() {
+  if (enum_field_counter_ <= {{enum.fields|length}})
+    ++enum_field_counter_;
+  switch(enum_field_counter_ - 1) {
+{%- for field in enum.fields %}
+    case {{loop.index0}}:
+{%-   if loop.last %}
+{#-   For all the addtional call to |Generate()|, return the last enum value. #}
+    default:
+{%    endif %}
+      return {{enum | get_name_for_kind}}::{{field.mojom_name}};
+{%- endfor %}
+  }
+}
+
+bool {{class_name}}::HasNext() {
+  return enum_field_counter_ < {{enum.fields|length}};
+}
diff --git a/chromeos/services/cros_healthd/testing/bindings/templates/enum-generator.h.j2 b/chromeos/services/cros_healthd/testing/bindings/templates/enum-generator.h.j2
new file mode 100644
index 0000000..7426c07c
--- /dev/null
+++ b/chromeos/services/cros_healthd/testing/bindings/templates/enum-generator.h.j2
@@ -0,0 +1,25 @@
+{%- set class_name = enum | get_name_for_kind(flatten_nested_kind=True)
+                                                          ~ "DataGenerator" -%}
+
+class {{class_name}}
+  : public ::chromeos::cros_healthd::connectivity::DataGeneratorInterface<{{
+      enum | get_name_for_kind}}> {
+ public:
+  {{class_name}}(const {{class_name}}&) = delete;
+  {{class_name}}& operator=(const {{class_name}}&) = delete;
+  virtual ~{{class_name}}() = default;
+
+  static std::unique_ptr<{{class_name}}> Create(
+    ::chromeos::cros_healthd::connectivity::Context* context);
+
+ public:
+  // DataGeneratorInterface overrides.
+  {{enum | get_name_for_kind}} Generate() override;
+  bool HasNext() override;
+
+ protected:
+  {{class_name}}() = default;
+
+ private:
+  size_t enum_field_counter_ = 0;
+};
diff --git a/chromeos/services/cros_healthd/testing/bindings/templates/method-macro.cc.j2 b/chromeos/services/cros_healthd/testing/bindings/templates/method-macro.cc.j2
new file mode 100644
index 0000000..9b0dbb4
--- /dev/null
+++ b/chromeos/services/cros_healthd/testing/bindings/templates/method-macro.cc.j2
@@ -0,0 +1,162 @@
+{#  Declare the parameters of a method. Map the kinds to cpp types. #}
+{%- macro declare_params(prefix, parameters) %}
+{%-   for param in parameters -%}
+{{param.kind|cpp_wrapper_param_type}} {{prefix}}{{param.mojom_name}}
+{%- if not loop.last %}, {% endif %}
+{%-   endfor %}
+{%- endmacro %}
+
+{#  Declare the request parameters of a method. Add callback parameter if
+    needed. #}
+{%- macro declare_request_params(prefix, method) -%}
+{{declare_params(prefix, method.parameters)}}
+{%-   if method.response_parameters != None -%}
+{%-     if method.parameters %}, {% endif -%}
+{{method.mojom_name}}Callback callback
+{%-   endif -%}
+{%- endmacro -%}
+
+{#  Add nullable if needed. #}
+{%- macro _cpp_nullable_generator_type(kind) -%}
+{%-   if kind.is_nullable -%}
+::chromeos::cros_healthd::connectivity::NullableGenerator<{{ caller() }}>
+{%-   else -%}
+{{ caller() }}
+{%-   endif -%}
+{%- endmacro -%}
+
+{#  Add optional if needed. #}
+{%- macro _cpp_optional_generator_type(kind) -%}
+{%-   if kind.is_nullable -%}
+::chromeos::cros_healthd::connectivity::OptionalGenerator<{{ caller() }}>
+{%-   else -%}
+{{ caller() }}
+{%-   endif -%}
+{%- endmacro -%}
+
+{#  Map kind to DataGenerator type. #}
+{%- macro cpp_generator_type(kind) -%}
+{%-   if kind is GeneratorOverrideKind -%}
+{{kind | generator_override_type}}
+{%-   elif kind is EnumKind -%}
+{{kind | get_name_for_kind(flatten_nested_kind=True)}}DataGenerator
+{%-   elif kind is StructKind or kind is UnionKind -%}
+{%-     call _cpp_nullable_generator_type(kind) -%}
+{{kind | get_name_for_kind}}DataGenerator
+{%-     endcall -%}
+{%-   elif kind is GenericHandleKind -%}
+{%-     call _cpp_nullable_generator_type(kind) -%}
+::chromeos::cros_healthd::connectivity::HandleDataGenerator
+{%-     endcall -%}
+{%-   elif kind is PendingRemoteKind -%}
+{{kind.kind | get_name_for_kind}}TestProvider
+{%-   elif kind is PendingReceiverKind -%}
+{{kind.kind | get_name_for_kind}}TestConsumer
+{%-   elif kind is ArrayKind -%}
+{%-     call _cpp_optional_generator_type(kind) -%}
+::chromeos::cros_healthd::connectivity::ArrayGenerator<{{
+    cpp_generator_type(kind.kind)}}>
+{%-     endcall -%}
+{%-   elif kind is MapKind -%}
+{%-     call _cpp_optional_generator_type(kind) -%}
+::chromeos::cros_healthd::connectivity::MapGenerator<{{
+    cpp_generator_type(kind.key_kind)}}, {{
+    cpp_generator_type(kind.value_kind)}}>
+{%-     endcall -%}
+{%-   else -%}
+{%-     call _cpp_optional_generator_type(kind) -%}
+::chromeos::cros_healthd::connectivity::DataGenerator<{{
+  kind | cpp_wrapper_type(ignore_nullable=True)}}>
+{%-     endcall -%}
+{%-   endif -%}
+{%- endmacro -%}
+
+{#  Map kind to Checker type. #}
+{%- macro cpp_checker_type(kind) -%}
+{%-   if kind is PendingRemoteKind -%}
+{{kind.kind | get_name_for_kind}}TestConsumer
+{%-   elif kind is PendingReceiverKind -%}
+{{kind.kind | get_name_for_kind}}TestProvider
+{%-   else -%}
+UnsupportedCheckerType/*Should not reach.*/
+{%-   endif -%}
+{%- endmacro -%}
+
+{#  Declare data generator of parameters. #}
+{%- macro declare_data_generator(prefix, parameters) %}
+{%-   if parameters != None %}
+{%-     for param in parameters %}
+std::unique_ptr<{{cpp_generator_type(param.kind)}}> {{prefix}}{{
+  param.mojom_name}}__generator__;
+{%-     endfor %}
+{%-   endif %}
+{%- endmacro %}
+
+{#  Define data generator of parameters. #}
+{%- macro define_data_generator(prefix, context, parameters) -%}
+{%-   if parameters != None %}
+{%-     for param in parameters -%}
+{{prefix}}{{param.mojom_name}}__generator__ = {{
+  cpp_generator_type(param.kind)}}::Create({{context}});
+{%      endfor %}
+{%-   endif %}
+{%- endmacro %}
+
+{#  Declare data checker of parameters. #}
+{%- macro declare_data_checker(prefix, parameters) -%}
+{%-   if parameters != None %}
+{%-     for param in parameters -%}
+{%-       if param.kind is PendingRemoteKind or
+             param.kind is PendingReceiverKind %}
+std::unique_ptr<{{cpp_checker_type(param.kind)}}> {{prefix}}{{
+  param.mojom_name}}__checker__;
+{%-       endif %}
+{%-     endfor %}
+{%-   endif %}
+{%- endmacro %}
+
+{#  Define data checker of parameters. #}
+{%- macro define_data_checker(prefix, context, parameters) %}
+{%-   if parameters != None %}
+{%-     for param in parameters -%}
+{%-       if param.kind is PendingRemoteKind or
+             param.kind is PendingReceiverKind %}
+{{prefix}}{{param.mojom_name}}__checker__ = {{
+  cpp_checker_type(param.kind)}}::Create({{context}});
+{%-       endif %}
+{%-     endfor %}
+{%-   endif %}
+{%- endmacro %}
+
+{#  Statement of generating the parameters to pass to function. #}
+{%- macro generate_params(prefix, parameters) %}
+{%-   if parameters != None %}
+{%-     for param in parameters -%}
+{{prefix}}{{param.mojom_name}}__generator__->Generate()
+{%-       if not loop.last %}, {% endif -%}
+{%      endfor %}
+{%    endif %}
+{%- endmacro %}
+
+{#  Statement of checking if the generator of parameters has next. #}
+{%- macro params_has_next(prefix, parameters) %}
+{%-   if parameters != None -%}
+(
+{%-     for param in parameters -%}
+{{prefix}}{{param.mojom_name}}__generator__->HasNext() ||
+{%-     endfor -%}
+false)
+{%-   endif %}
+{%- endmacro %}
+
+{#  Used to forward arguments of a method to another function. #}
+{%- macro forward_params(prefix, method) %}
+{%-   for param in method.parameters -%}
+std::move({{prefix}}{{param.mojom_name}})
+{%-   if not loop.last %}, {% endif -%}
+{%    endfor %}
+{%-   if method.response_parameters != None -%}
+{%-     if method.parameters %}, {% endif -%}
+std::move(callback)
+{%-   endif -%}
+{%- endmacro %}
diff --git a/chromeos/services/cros_healthd/testing/bindings/templates/struct-generator.cc.j2 b/chromeos/services/cros_healthd/testing/bindings/templates/struct-generator.cc.j2
new file mode 100644
index 0000000..f0d39604
--- /dev/null
+++ b/chromeos/services/cros_healthd/testing/bindings/templates/struct-generator.cc.j2
@@ -0,0 +1,31 @@
+{%- import "method-macro.cc.j2" as method_macro %}
+
+{%- set class_name = struct.name ~ "DataGenerator" -%}
+
+std::unique_ptr<{{class_name}}> {{class_name}}::Create(
+    ::chromeos::cros_healthd::connectivity::Context* context) {
+  return std::unique_ptr<{{class_name}}>(new {{class_name}}(context, false));
+}
+
+{{class_name}}::{{class_name}}(
+    ::chromeos::cros_healthd::connectivity::Context* context, bool nullable)
+  : nullable_(nullable) {
+  {{method_macro.define_data_generator("", "context", struct.fields)}}
+}
+
+{{struct.name}}Ptr {{class_name}}::Generate() {
+  if (returned_null_ ||
+      (nullable_ && !{{method_macro.params_has_next("", struct.fields)}})) {
+    returned_null_ = true;
+    return nullptr;
+  }
+  return {{struct.name}}::New({{method_macro.generate_params(
+    "", struct.fields)}});
+}
+
+bool {{class_name}}::HasNext() {
+  return (
+    {{method_macro.params_has_next("", struct.fields)}} ||
+    (nullable_ && !returned_null_)
+  );
+}
diff --git a/chromeos/services/cros_healthd/testing/bindings/templates/struct-generator.h.j2 b/chromeos/services/cros_healthd/testing/bindings/templates/struct-generator.h.j2
new file mode 100644
index 0000000..aa502b7
--- /dev/null
+++ b/chromeos/services/cros_healthd/testing/bindings/templates/struct-generator.h.j2
@@ -0,0 +1,30 @@
+{%- import "method-macro.cc.j2" as method_macro %}
+
+{%- set class_name = struct.name ~ "DataGenerator" -%}
+
+class {{class_name}}
+  : public ::chromeos::cros_healthd::connectivity::DataGeneratorInterface<{{
+      struct.name}}Ptr> {
+ public:
+  {{class_name}}(const {{class_name}}&) = delete;
+  {{class_name}}& operator=(const {{class_name}}&) = delete;
+  virtual ~{{class_name}}() = default;
+
+  static std::unique_ptr<{{class_name}}> Create(
+    ::chromeos::cros_healthd::connectivity::Context* context);
+
+ public:
+  // DataGeneratorInterface overrides.
+  {{struct.name}}Ptr Generate() override;
+  bool HasNext() override;
+
+ protected:
+  explicit {{class_name}}(
+    ::chromeos::cros_healthd::connectivity::Context* context, bool nullable);
+
+ private:
+  bool nullable_;
+  bool returned_null_ = false;
+
+  {{method_macro.declare_data_generator("", struct.fields)}}
+};
diff --git a/chromeos/services/cros_healthd/testing/bindings/templates/test-consumer.cc.j2 b/chromeos/services/cros_healthd/testing/bindings/templates/test-consumer.cc.j2
new file mode 100644
index 0000000..80c3b68
--- /dev/null
+++ b/chromeos/services/cros_healthd/testing/bindings/templates/test-consumer.cc.j2
@@ -0,0 +1,171 @@
+{%- import "method-macro.cc.j2" as method_macro %}
+
+{%- set class_name = "%sTestConsumer"|format(interface.mojom_name) %}
+
+std::unique_ptr<{{class_name}}> {{class_name}}::Create(
+    ::chromeos::cros_healthd::connectivity::Context* context) {
+  return std::unique_ptr<{{class_name}}>(new {{class_name}}(context));
+}
+
+{{class_name}}::{{class_name}}(
+    ::chromeos::cros_healthd::connectivity::Context* context)
+  : context_(context) {
+{%- for method in interface.methods %}
+  {{method_macro.define_data_generator(
+      method.mojom_name ~ "__", "context", method.parameters)}}
+{%- endfor %}
+}
+
+void {{class_name}}::Bind(::mojo::PendingRemote<{{
+    interface.mojom_name}}> remote) {
+  remote_.reset();
+  remote_.Bind(std::move(remote));
+}
+
+::mojo::PendingReceiver<{{interface.mojom_name}}> {{class_name}}::Generate() {
+  has_next_ = false;
+  remote_.reset();
+  return remote_.BindNewPipeAndPassReceiver();
+}
+
+base::OnceCallback<void({{class_name}}::CheckCallback)>
+{{class_name}}::CheckClosure() {
+  return base::BindOnce(&{{class_name}}::Check, weak_factory_.GetWeakPtr());
+}
+
+{%  for method in interface.methods %}
+{#- Step1: Call remote method and wait for it finished. #}
+void {{class_name}}::CheckStep1__{{method.mojom_name}}(CheckCallback callback) {
+  auto next_callback =
+      base::BindOnce(&{{class_name}}::CheckStep2__{{method.mojom_name}},
+                     weak_factory_.GetWeakPtr(),
+                     std::move(callback));
+
+{%-   if method.response_parameters == None %}
+  context_->remote_state()->WaitLastCall(std::move(next_callback));
+  CHECK(remote_.is_connected());
+  remote_.set_disconnect_handler(
+    context_->remote_state()->GetFulfillLastCallCallbackClosure());
+  remote_->{{method.mojom_name}}({{method_macro.generate_params(
+      method.mojom_name ~ "__", method.parameters)}});
+{%-   else %}
+  auto [next_callback1, next_callback2] =
+    base::SplitOnceCallback(std::move(next_callback));
+  CHECK(remote_.is_connected());
+  remote_.set_disconnect_handler(std::move(next_callback1));
+  auto response_callback = base::BindOnce([]({{
+    method_macro.declare_params("", method.response_parameters)}}
+  ){
+{%-      for param in method.response_parameters %}
+{%-        if param.kind is PendingReceiverKind or
+              param.kind is PendingRemoteKind  %}
+    CHECK(false) <<
+        "Checking interface through response parameters are not supported.";
+{%-        endif %}
+{%-      endfor %}
+    LOG(ERROR) << "{{method.mojom_name}} callback!";
+  }).Then(std::move(next_callback2));
+
+  remote_->{{method.mojom_name}}({{method_macro.generate_params(
+    method.mojom_name ~ "__", method.parameters)}}
+    {%- if method.parameters %}, {% endif -%}
+    std::move(response_callback)
+  );
+{%-   endif %}
+}
+
+{#  Step2: Checks sub-interfaces. #}
+void {{class_name}}::CheckStep2__{{method.mojom_name}}(CheckCallback callback) {
+{#- If the remote was disconnected, connection error had occurred. #}
+  if (!remote_.is_connected()) {
+    LOG(ERROR) << "Check failed because connection error occurred. Failed on: "
+               <<"{{interface.mojom_name}}::{{method.mojom_name}}.";
+    std::move(callback).Run(false);
+    return;
+  }
+
+  auto callback_0 = base::BindOnce(
+    &{{class_name}}::CheckStep3__{{method.mojom_name}},
+    weak_factory_.GetWeakPtr());
+
+{#  Do the checking of TestConsumer. The next action will be run only if the #}
+{#- previous one succeeded. #}
+{%    for param in method.parameters | reverse | selectattr(
+                                            "kind", "PendingReceiverKind")  %}
+  auto callback_{{loop.index}} = base::BindOnce(
+    &::chromeos::cros_healthd::connectivity::RunOrReturn,
+    /*return_value=*/false,
+    /*get_result=*/{{
+      method.mojom_name}}__{{param.mojom_name}}__generator__->CheckClosure(),
+    /*run_callback=*/std::move(callback_{{loop.index - 1}}));
+{%-     if loop.last %}
+  auto callback_last = std::move(callback_{{loop.index}});
+{%-     endif %}
+{%-   else %}
+  auto callback_last = std::move(callback_0);
+{%-   endfor %}
+  std::move(callback_last).Run(std::move(callback));
+}
+
+{#  Step3: Checks if need to do another check. If any parameter or
+    response_parameter need to be checked, do the check again. #}
+void {{class_name}}::CheckStep3__{{method.mojom_name}}(CheckCallback callback) {
+{%-   if method.parameters %}
+  if ({{method_macro.params_has_next(
+        method.mojom_name ~"__", method.parameters)}}) {
+    CheckStep1__{{method.mojom_name}}(std::move(callback));
+    return;
+  }
+{%-   endif %}
+{%-   if method.response_parameters == None %}
+  std::move(callback).Run(true);
+{%-   else %}
+  ::chromeos::cros_healthd::connectivity::RunOrReturn(
+    /*return_value=*/true,
+    /*get_result=*/context_->remote_state()->GetLastCallHasNextClosure(),
+    /*run_callback=*/base::BindOnce(
+      &{{class_name}}::CheckStep1__{{method.mojom_name}},
+      weak_factory_.GetWeakPtr()),
+    std::move(callback));
+{%-   endif %}
+}
+{%  endfor %}
+
+void {{class_name}}::SetCheckResult(CheckCallback callback, bool res) {
+  check_reentry_status_ = false;
+  check_result_ = res;
+  std::move(callback).Run(res);
+}
+
+void {{class_name}}::Check(CheckCallback callback) {
+  if (check_result_.has_value()) {
+    std::move(callback).Run(check_result_.value());
+    return;
+  }
+
+  CHECK(!check_reentry_status_)
+    << "Check is call before the last run finished.";
+  check_reentry_status_ = true;
+  auto callback_0 = base::BindOnce(
+      [](CheckCallback callback){ std::move(callback).Run(true); });
+
+{#  Check each method of this interface. The next action will be run only if
+    the previous one succeeded. #}
+{%- for method in interface.methods | reverse %}
+  auto callback_{{loop.index}} = base::BindOnce(
+    &::chromeos::cros_healthd::connectivity::RunOrReturn,
+    /*return_value=*/false,
+    /*get_result=*/base::BindOnce(
+      &{{class_name}}::CheckStep1__{{method.mojom_name}},
+      weak_factory_.GetWeakPtr()),
+    /*run_callback=*/std::move(callback_{{loop.index - 1}}));
+{%-   if loop.last %}
+  auto callback_last = std::move(callback_{{loop.index}});
+{%-   endif %}
+{%- else %}
+  auto callback_last = std::move(callback_0);
+{%  endfor %}
+  std::move(callback_last).Run(base::BindOnce(
+      &{{class_name}}::SetCheckResult, weak_factory_.GetWeakPtr(),
+      std::move(callback)));
+}
diff --git a/chromeos/services/cros_healthd/testing/bindings/templates/test-consumer.h.j2 b/chromeos/services/cros_healthd/testing/bindings/templates/test-consumer.h.j2
new file mode 100644
index 0000000..9866b53
--- /dev/null
+++ b/chromeos/services/cros_healthd/testing/bindings/templates/test-consumer.h.j2
@@ -0,0 +1,62 @@
+{%- import "method-macro.cc.j2" as method_macro %}
+
+{%- set class_name = "%sTestConsumer"|format(interface.mojom_name) %}
+
+class {{class_name}}
+  : public ::chromeos::cros_healthd::connectivity::DataGeneratorInterface<
+      ::mojo::PendingReceiver<{{interface.mojom_name}}>> {
+ public:
+  {{class_name}}(const {{class_name}}&) = delete;
+  {{class_name}}& operator=(const {{class_name}}&) = delete;
+  virtual ~{{class_name}}() = default;
+
+  static std::unique_ptr<{{class_name}}> Create(
+    ::chromeos::cros_healthd::connectivity::Context* context);
+
+ public:
+  void Bind(::mojo::PendingRemote<{{interface.mojom_name}}> remote);
+
+  // Checks the interface. The callback will be fulfilled with |true| if the
+  // interface passed the test. This is non-blocking but synchronize. The caller
+  // needs to wait until the callback being fulfilled to perform the next call.
+  using CheckCallback = base::OnceCallback<void(bool)>;
+  void Check(CheckCallback callback);
+  // Returns the closure to check the interface.
+  base::OnceCallback<void(CheckCallback)> CheckClosure();
+
+  // DataGeneratorInterface overrides.
+  ::mojo::PendingReceiver<{{interface.mojom_name}}> Generate() override;
+  bool HasNext() override { return has_next_; }
+
+ protected:
+  explicit {{
+    class_name}}(::chromeos::cros_healthd::connectivity::Context* context);
+
+ private:
+  void SetCheckResult(CheckCallback callback, bool res);
+
+{#- Methods are splitted into multiple stages to be used as callback. #}
+{%- for method in interface.methods %}
+  void CheckStep1__{{method.mojom_name}}(CheckCallback callback);
+  void CheckStep2__{{method.mojom_name}}(CheckCallback callback);
+  void CheckStep3__{{method.mojom_name}}(CheckCallback callback);
+{%  endfor %}
+
+ private:
+  ::chromeos::cros_healthd::connectivity::Context* context_;
+
+  bool has_next_ = true;
+  // Used to cached the check result.
+  bool check_reentry_status_ = false;
+  absl::optional<bool> check_result_;
+
+  ::mojo::Remote<{{interface.mojom_name}}> remote_;
+
+{%- for method in interface.methods %}
+  {{method_macro.declare_data_generator(
+      method.mojom_name ~ "__", method.parameters)}}
+{%- endfor %}
+
+  // Must be the last member of the class.
+  base::WeakPtrFactory<{{class_name}}> weak_factory_{this};
+};
diff --git a/chromeos/services/cros_healthd/testing/bindings/templates/test-provider.cc.j2 b/chromeos/services/cros_healthd/testing/bindings/templates/test-provider.cc.j2
new file mode 100644
index 0000000..883bfd2
--- /dev/null
+++ b/chromeos/services/cros_healthd/testing/bindings/templates/test-provider.cc.j2
@@ -0,0 +1,99 @@
+{%- import "method-macro.cc.j2" as method_macro %}
+
+{%- set class_name = "%sTestProvider"|format(interface.mojom_name) %}
+
+std::unique_ptr<{{class_name}}> {{class_name}}::Create(
+    ::chromeos::cros_healthd::connectivity::Context* context) {
+  return std::unique_ptr<{{class_name}}>(new {{class_name}}(context));
+}
+
+{{class_name}}::{{class_name}}(
+    ::chromeos::cros_healthd::connectivity::Context* context)
+  : context_(context) {
+{%- for method in interface.methods -%}
+  {{method_macro.define_data_checker(
+      method.mojom_name ~ "__", "context", method.parameters)}}
+  {{method_macro.define_data_generator(
+      method.mojom_name ~ "__", "context", method.response_parameters)}}
+{%- endfor %}
+}
+
+void {{class_name}}::Bind(::mojo::PendingReceiver<{{
+    interface.mojom_name}}> receiver) {
+  receiver_set_.Add(&service_, std::move(receiver));
+}
+
+::mojo::PendingRemote<{{interface.mojom_name}}> {{class_name}}::Generate() {
+  has_next_ = false;
+  ::mojo::PendingReceiver<{{interface.mojom_name}}> receiver;
+  auto remote = receiver.InitWithNewPipeAndPassRemote();
+  receiver_set_.Add(&service_, std::move(receiver));
+  return remote;
+}
+
+void {{class_name}}::RemoveReceiver(::mojo::ReceiverId receiver_id) {
+  receiver_set_.Remove(receiver_id);
+}
+
+{%- for method in interface.methods %}
+void {{class_name}}::{{method.mojom_name}}_Step1({{
+    method_macro.declare_request_params("", method)}}) {
+{#  Bind each receiver to each TestProvider. #}
+{%-   for param in method.parameters | selectattr(
+                                          "kind", "PendingReceiverKind") %}
+    {{method.mojom_name}}__{{
+      param.mojom_name}}__checker__->Bind(std::move({{param.mojom_name}}));
+{%-   endfor %}
+
+{#  Create callback for Step2. #}
+{%-   if method.response_parameters != None -%}
+  auto response_callback = base::BindOnce(
+        std::move(callback)
+        {%- if method.response_parameters %}, {% endif -%}
+        {{method_macro.generate_params(
+            method.mojom_name ~"__", method.response_parameters)}});
+{%-    else -%}
+  auto response_callback = base::DoNothing();
+{%-    endif -%}
+  auto callback_0 = base::BindOnce(
+    &{{class_name}}::{{method.mojom_name}}_Step2,
+    weak_factory_.GetWeakPtr(),
+    std::move(response_callback));
+
+{#  Bind each remote to each TestConsumer and do the checking. The next #}
+{#- action will be run only if the previous one succeeded. #}
+{%-   for param in method.parameters | reverse | selectattr(
+                                              "kind", "PendingRemoteKind")  %}
+  {{method.mojom_name}}__{{
+      param.mojom_name}}__checker__->Bind(std::move({{param.mojom_name}}));
+
+  auto callback_{{loop.index}} = base::BindOnce(
+    &::chromeos::cros_healthd::connectivity::RunSuccessOrFailed,
+    /*get_result=*/{{
+      method.mojom_name}}__{{param.mojom_name}}__checker__->CheckClosure(),
+    /*on_success=*/std::move(callback_{{loop.index - 1}}),
+    /*on_failed=*/base::BindOnce([](){
+      LOG(ERROR) << "\"{{class_name}}::{{method.mojom_name}}\":"
+                 << " interface \"{{param.mojom_name}}\" check failed.";
+    }).Then(base::BindOnce(&{{class_name}}::RemoveReceiver,
+        weak_factory_.GetWeakPtr(), receiver_set_.current_receiver())));
+{%-     if loop.last %}
+  auto callback_last = std::move(callback_{{loop.index}});
+{%-     endif %}
+{%-   else %}
+  auto callback_last = std::move(callback_0);
+{%    endfor %}
+  std::move(callback_last).Run();
+}
+
+void {{class_name}}::{{method.mojom_name}}_Step2(base::OnceClosure callback) {
+{%-   if method.response_parameters != None %}
+    context_->local_state()->SetLastCallHasNext({{method_macro.params_has_next(
+        method.mojom_name ~"__", method.response_parameters)}});
+{%    else %}
+  context_->local_state()->FulfillLastCallCallback();
+{%    endif %}
+  std::move(callback).Run();
+}
+
+{%- endfor %}
diff --git a/chromeos/services/cros_healthd/testing/bindings/templates/test-provider.h.j2 b/chromeos/services/cros_healthd/testing/bindings/templates/test-provider.h.j2
new file mode 100644
index 0000000..e5a7b41
--- /dev/null
+++ b/chromeos/services/cros_healthd/testing/bindings/templates/test-provider.h.j2
@@ -0,0 +1,78 @@
+{%- import "method-macro.cc.j2" as method_macro %}
+
+{%- set class_name = "%sTestProvider"|format(interface.mojom_name) %}
+
+class {{class_name}}
+  : public ::chromeos::cros_healthd::connectivity::DataGeneratorInterface<
+      ::mojo::PendingRemote<{{interface.mojom_name}}>> {
+ public:
+  {{class_name}}(const {{class_name}}&) = delete;
+  {{class_name}}& operator=(const {{class_name}}&) = delete;
+  virtual ~{{class_name}}() = default;
+
+  static std::unique_ptr<{{class_name}}> Create(
+    ::chromeos::cros_healthd::connectivity::Context* context);
+
+ public:
+  void Bind(::mojo::PendingReceiver<{{interface.mojom_name}}> receiver);
+
+  // DataGeneratorInterface overrides.
+  ::mojo::PendingRemote<{{interface.mojom_name}}> Generate() override;
+  bool HasNext() override { return has_next_; }
+
+ protected:
+  explicit {{
+    class_name}}(::chromeos::cros_healthd::connectivity::Context* context);
+
+ private:
+  // Proxy object for mojo recevier.
+  class Service : public {{interface.mojom_name}} {
+   public:
+    Service({{class_name}}* test_provider) : test_provider_(test_provider) {}
+    Service(const Service&) = delete;
+    Service& operator=(const Service&) = delete;
+    ~Service() = default;
+   private:
+{%- for method in interface.methods %}
+    void {{method.mojom_name}}({{method_macro.declare_request_params(
+        "", method)}}) override {
+      test_provider_->{{method.mojom_name}}_Step1({{method_macro.forward_params(
+      "", method)}});
+    }
+{%- endfor %}
+   private:
+    {{class_name}}* test_provider_;
+  };
+
+  void RemoveReceiver(::mojo::ReceiverId receiver_id);
+
+{#- Methods are splitted into multiple stages to be used as callback. #}
+{%- for method in interface.methods %}
+{%-   if method.response_parameters != None %}
+  using {{method.mojom_name}}Callback = Service::{{method.mojom_name}}Callback;
+{%-   endif -%}
+  void {{method.mojom_name}}_Step1({{method_macro.declare_request_params(
+    "", method)}});
+  void {{method.mojom_name}}_Step2(base::OnceClosure callback);
+{%- endfor %}
+
+ private:
+  ::chromeos::cros_healthd::connectivity::Context* context_;
+
+  bool has_next_ = true;
+
+  Service service_{this};
+
+  ::mojo::ReceiverSet<{{interface.mojom_name}}> receiver_set_;
+
+{%- for method in interface.methods %}
+  {{method_macro.declare_data_checker(
+      method.mojom_name ~ "__", method.parameters)}}
+
+  {{method_macro.declare_data_generator(
+      method.mojom_name ~ "__", method.response_parameters)}}
+{%- endfor %}
+
+  // Must be the last member of the class.
+  base::WeakPtrFactory<{{class_name}}> weak_factory_{this};
+};
diff --git a/chromeos/services/cros_healthd/testing/bindings/templates/union-generator.cc.j2 b/chromeos/services/cros_healthd/testing/bindings/templates/union-generator.cc.j2
new file mode 100644
index 0000000..bd155c2
--- /dev/null
+++ b/chromeos/services/cros_healthd/testing/bindings/templates/union-generator.cc.j2
@@ -0,0 +1,39 @@
+{%- import "method-macro.cc.j2" as method_macro %}
+
+{%- set class_name = union.name ~ "DataGenerator" -%}
+
+std::unique_ptr<{{class_name}}> {{class_name}}::Create(
+    ::chromeos::cros_healthd::connectivity::Context* context) {
+  return std::unique_ptr<{{class_name}}>(new {{class_name}}(context, false));
+}
+
+{{class_name}}::{{class_name}}(
+    ::chromeos::cros_healthd::connectivity::Context* context, bool nullable)
+  : nullable_(nullable) {
+  {{method_macro.define_data_generator("", "context", union.fields)}}
+}
+
+{{union.name}}Ptr {{class_name}}::Generate() {
+  {%  for field in union.fields -%}
+  if (union_field_counter_ == {{loop.index0}}) {
+    if (!{{field.mojom_name}}__generator__->HasNext() &&
+        (union_field_counter_ + 1 < {{union.fields|length}} || nullable_)
+    ) {
+     ++union_field_counter_;
+    } else {
+      auto res = {{union.name}}::New();
+      res->set_{{field.mojom_name}}({{
+        field.mojom_name}}__generator__->Generate());
+      return res;
+    }
+  }
+  {%  endfor -%}
+  return nullptr;
+}
+
+bool {{class_name}}::HasNext() {
+  return (
+    {{method_macro.params_has_next("", union.fields)}} ||
+    (nullable_ && union_field_counter_ < {{union.fields|length}})
+  );
+}
diff --git a/chromeos/services/cros_healthd/testing/bindings/templates/union-generator.h.j2 b/chromeos/services/cros_healthd/testing/bindings/templates/union-generator.h.j2
new file mode 100644
index 0000000..4f4d20c
--- /dev/null
+++ b/chromeos/services/cros_healthd/testing/bindings/templates/union-generator.h.j2
@@ -0,0 +1,30 @@
+{%- import "method-macro.cc.j2" as method_macro %}
+
+{%- set class_name = union.name ~ "DataGenerator" -%}
+
+class {{class_name}}
+  : public ::chromeos::cros_healthd::connectivity::DataGeneratorInterface<{{
+      union.name}}Ptr> {
+ public:
+  {{class_name}}(const {{class_name}}&) = delete;
+  {{class_name}}& operator=(const {{class_name}}&) = delete;
+  virtual ~{{class_name}}() = default;
+
+  static std::unique_ptr<{{class_name}}> Create(
+    ::chromeos::cros_healthd::connectivity::Context* context);
+
+ public:
+  // DataGeneratorInterface overrides.
+  {{union.name}}Ptr Generate() override;
+  bool HasNext() override;
+
+ protected:
+  explicit {{class_name}}(
+    ::chromeos::cros_healthd::connectivity::Context* context, bool nullable);
+
+ private:
+  bool nullable_;
+  size_t union_field_counter_ = 0;
+
+  {{method_macro.declare_data_generator("", union.fields)}}
+};
diff --git a/chromeos/strings/chromeos_strings_da.xtb b/chromeos/strings/chromeos_strings_da.xtb
index 9325bdae..20339d6a 100644
--- a/chromeos/strings/chromeos_strings_da.xtb
+++ b/chromeos/strings/chromeos_strings_da.xtb
@@ -52,6 +52,7 @@
 <translation id="1468664791493211953">Tilbud</translation>
 <translation id="1476467821656042872"><ph name="MANAGER" /> administrerer din enhed og kan muligvis overvåge din aktivitet.</translation>
 <translation id="1478594628797167447">Scanner</translation>
+<translation id="1486019694341708158">Aktivér kontakten for at vælge en pauseskærm</translation>
 <translation id="1491076385728777984">Opdaterer firmware på <ph name="DEVICE_NAME" /></translation>
 <translation id="1499900233129743732"><ph name="MANAGER" /> administrerer denne bruger, og vedkommende kan administrere indstillinger og overvåge brugeraktivitet via fjernadgang.</translation>
 <translation id="150962533380566081">Ugyldig PUK-kode.</translation>
@@ -106,6 +107,7 @@
 <translation id="2105810540595158374">Enheden er en spilcontroller.</translation>
 <translation id="2119172414412204879"><ph name="BOARD_NAME" />, version <ph name="MILESTONE_VERSION" /></translation>
 <translation id="2126937207024182736"><ph name="AVAILABLE_MEMORY" /> GB ledig hukommelse ud af <ph name="TOTAL_MEMORY" /> GB</translation>
+<translation id="2138109643290557664">Float on by</translation>
 <translation id="2141644705054017895"><ph name="PERCENTAGE_VALUE" /> %</translation>
 <translation id="2152882202543497059"><ph name="NUMBER" /> billeder</translation>
 <translation id="2157959690810728433">SAT I KØ</translation>
@@ -268,6 +270,7 @@
 <translation id="4271957103967917607">Se i fuld skærm</translation>
 <translation id="4275799948641988986">Hvem kommer til at bruge enheden efter reparationen?</translation>
 <translation id="4289540628985791613">Oversigt</translation>
+<translation id="4289849978083912975">Slide show</translation>
 <translation id="4297501883039923494">Stoppet – Ukendt fejl</translation>
 <translation id="4300073214558989"><ph name="IMAGE_COUNT" /> billeder</translation>
 <translation id="4333390807948134856">Du har trykket på tasten <ph name="KEY_NAME" /></translation>
@@ -538,10 +541,12 @@
 <translation id="7175037578838465313">Konfigurer <ph name="NAME" /></translation>
 <translation id="7177485034254901881">Denne <ph name="DEVICE_TYPE" /> administreres af <ph name="MANAGER" />. Administratorer kan fjernkonfigurere enheden.</translation>
 <translation id="7180611975245234373">Opdater</translation>
+<translation id="7191009787982536050">Pauseskærmanimation</translation>
 <translation id="7212734716605298123">Opdateringer af firmware på eksterne enheder</translation>
 <translation id="7216409898977639127">Mobilselskab</translation>
 <translation id="7271040990581020067">Scanneren bruges i øjeblikket. Prøv igen senere.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
+<translation id="7281657306185710294">Feel the breeze</translation>
 <translation id="7287310195820267359">Samlinger med baggrunde</translation>
 <translation id="7297226631177386107">Der kan ikke oprettes forbindelse gennem firewallen til HTTPS-websites</translation>
 <translation id="7302860742311162920">ICCID</translation>
diff --git a/chromeos/strings/chromeos_strings_pa.xtb b/chromeos/strings/chromeos_strings_pa.xtb
index 0006b02..2e00630 100644
--- a/chromeos/strings/chromeos_strings_pa.xtb
+++ b/chromeos/strings/chromeos_strings_pa.xtb
@@ -52,6 +52,7 @@
 <translation id="1468664791493211953">ਪੇਸ਼ਕਸ਼ਾਂ</translation>
 <translation id="1476467821656042872"><ph name="MANAGER" /> ਵੱਲੋਂ ਇਸ ਡੀਵਾਈਸ ਦਾ ਪ੍ਰਬੰਧਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਤੁਹਾਡੀ ਸਰਗਰਮੀ ਦੀ ਨਿਗਰਾਨੀ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ।</translation>
 <translation id="1478594628797167447">ਸਕੈਨਰ</translation>
+<translation id="1486019694341708158">ਸਕ੍ਰੀਨ-ਸੇਵਰ ਵਿਕਲਪਾਂ ਨੂੰ ਚੁਣਨ ਲਈ ਟੌਗਲ ਨੂੰ ਚਾਲੂ ਕਰੋ</translation>
 <translation id="1491076385728777984"><ph name="DEVICE_NAME" /> 'ਤੇ ਫ਼ਰਮਵੇਅਰ ਨੂੰ ਅੱਪਡੇਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ</translation>
 <translation id="1499900233129743732"><ph name="MANAGER" /> ਇਸ ਵਰਤੋਂਕਾਰ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਦਾ ਹੈ ਅਤੇ ਦੂਰ-ਦਰਾਡੇ ਤੋਂ ਸੈਟਿੰਗਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਅਤੇ ਵਰਤੋਂਕਾਰ ਸਰਗਰਮੀ ਦੀ ਨਿਗਰਾਨੀ ਕਰ ਸਕਦਾ ਹੈ।</translation>
 <translation id="150962533380566081">ਅਵੈਧ PUK।</translation>
@@ -106,6 +107,7 @@
 <translation id="2105810540595158374">ਡੀਵਾਈਸ ਇੱਕ ਗੇਮ ਕੰਟਰੋਲਰ ਹੈ।</translation>
 <translation id="2119172414412204879"><ph name="BOARD_NAME" />, ਵਰਜਨ <ph name="MILESTONE_VERSION" /></translation>
 <translation id="2126937207024182736"><ph name="TOTAL_MEMORY" /> GB ਵਿੱਚੋਂ <ph name="AVAILABLE_MEMORY" /> GB ਉਪਲਬਧ ਹੈ</translation>
+<translation id="2138109643290557664">ਐਨੀਮੇਸ਼ਨ ਰਾਹੀਂ ਦਿਖਾਓ</translation>
 <translation id="2141644705054017895"><ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="2152882202543497059"><ph name="NUMBER" /> ਫ਼ੋਟੋਆਂ</translation>
 <translation id="2157959690810728433">ਕਤਾਰਬੱਧ</translation>
@@ -268,6 +270,7 @@
 <translation id="4271957103967917607">ਪੂਰੀ ਸਕ੍ਰੀਨ ਦੇਖੋ</translation>
 <translation id="4275799948641988986">ਮੁਰੰਮਤ ਤੋਂ ਬਾਅਦ, ਡੀਵਾਈਸ ਦੀ ਵਰਤੋਂ ਕੌਣ ਕਰੇਗਾ?</translation>
 <translation id="4289540628985791613">ਓਵਰਵਿਊ</translation>
+<translation id="4289849978083912975">ਸਲਾਈਡ ਸ਼ੋਅ</translation>
 <translation id="4297501883039923494">ਬੰਦ ਹੋ ਗਿਆ - ਅਗਿਆਤ ਗੜਬੜ</translation>
 <translation id="4300073214558989"><ph name="IMAGE_COUNT" /> ਚਿੱਤਰ</translation>
 <translation id="4333390807948134856"><ph name="KEY_NAME" /> ਕੁੰਜੀ ਦਬਾਈ ਗਈ</translation>
@@ -538,10 +541,12 @@
 <translation id="7175037578838465313"><ph name="NAME" /> ਨੂੰ ਸੰਰੂਪਿਤ ਕਰੋ</translation>
 <translation id="7177485034254901881"><ph name="MANAGER" /> ਵੱਲੋਂ ਇਸ <ph name="DEVICE_TYPE" /> ਦਾ ਪ੍ਰਬੰਧਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਸ਼ਾਇਦ ਪ੍ਰਸ਼ਾਸਕ ਰਿਮੋਟਲੀ ਡੀਵਾਈਸ ਦਾ ਸੰਰੂਪਣ ਕਰ ਸਕਦੇ ਹਨ।</translation>
 <translation id="7180611975245234373">ਰਿਫ੍ਰੈਸ਼ ਕਰੋ</translation>
+<translation id="7191009787982536050">ਸਕ੍ਰੀਨ-ਸੇਵਰ ਐਨੀਮੇਸ਼ਨ</translation>
 <translation id="7212734716605298123">ਬਾਹਰੀ ਡੀਵਾਈਸਾਂ ਲਈ ਫ਼ਰਮਵੇਅਰ ਅੱਪਡੇਟ</translation>
 <translation id="7216409898977639127">ਸੈਲਿਊਲਰ ਪ੍ਰਦਾਨਕ</translation>
 <translation id="7271040990581020067">ਫ਼ਿਲਹਾਲ ਸਕੈਨਰ ਵਰਤੋਂ ਵਿੱਚ ਹੈ। ਬਾਅਦ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
+<translation id="7281657306185710294">ਹਵਾ ਨੂੰ ਮਹਿਸੂਸ ਕਰੋ</translation>
 <translation id="7287310195820267359">ਵਾਲਪੇਪਰ ਸੰਗ੍ਰਹਿ</translation>
 <translation id="7297226631177386107">ਫ਼ਾਇਰਵਾਲ ਰਾਹੀਂ HTTPS ਵੈੱਬਸਾਈਟਾਂ ਨਾਲ ਕਨੈਕਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ</translation>
 <translation id="7302860742311162920">ICCID</translation>
diff --git a/chromeos/strings/chromeos_strings_tr.xtb b/chromeos/strings/chromeos_strings_tr.xtb
index 5fd4aa46..d17b5c5 100644
--- a/chromeos/strings/chromeos_strings_tr.xtb
+++ b/chromeos/strings/chromeos_strings_tr.xtb
@@ -52,6 +52,7 @@
 <translation id="1468664791493211953">Teklifler</translation>
 <translation id="1476467821656042872"><ph name="MANAGER" /> bu cihazı yönetiyor ve etkinliklerinizi izleyebilir.</translation>
 <translation id="1478594628797167447">Tarayıcı</translation>
+<translation id="1486019694341708158">Ekran koruyucu seçeneklerini belirlemek için geçiş yapma düğmesini açın</translation>
 <translation id="1491076385728777984"><ph name="DEVICE_NAME" /> cihazındaki donanım yazılımı güncelleniyor</translation>
 <translation id="1499900233129743732"><ph name="MANAGER" />, bu kullanıcıyı yönetir ve hem ayarları uzaktan yönetebilir hem de kullanıcı etkinliğini izleyebilir.</translation>
 <translation id="150962533380566081">Geçersiz PUK.</translation>
@@ -106,6 +107,7 @@
 <translation id="2105810540595158374">Cihazın türü oyun kumandası.</translation>
 <translation id="2119172414412204879"><ph name="BOARD_NAME" />, sürüm <ph name="MILESTONE_VERSION" /></translation>
 <translation id="2126937207024182736"><ph name="AVAILABLE_MEMORY" /> GB / <ph name="TOTAL_MEMORY" /> GB kullanılabilir</translation>
+<translation id="2138109643290557664">Ekranda süzülün</translation>
 <translation id="2141644705054017895">%<ph name="PERCENTAGE_VALUE" /></translation>
 <translation id="2152882202543497059"><ph name="NUMBER" /> fotoğraf</translation>
 <translation id="2157959690810728433">SIRAYA ALINDI</translation>
@@ -268,6 +270,7 @@
 <translation id="4271957103967917607">Tam Ekran görüntüle</translation>
 <translation id="4275799948641988986">Cihaz onarıldıktan sonra kim tarafından kullanılacak?</translation>
 <translation id="4289540628985791613">Genel bakış</translation>
+<translation id="4289849978083912975">Slayt gösterisi</translation>
 <translation id="4297501883039923494">Durduruldu - Bilinmeyen hata</translation>
 <translation id="4300073214558989"><ph name="IMAGE_COUNT" /> Resim</translation>
 <translation id="4333390807948134856"><ph name="KEY_NAME" /> tuşuna basıldı</translation>
@@ -539,10 +542,12 @@
 <translation id="7175037578838465313"><ph name="NAME" /> adlı ağı yapılandırın</translation>
 <translation id="7177485034254901881">Bu <ph name="DEVICE_TYPE" />, <ph name="MANAGER" /> tarafından yönetiliyor. Yöneticiler bu cihazı uzaktan yapılandırabilir.</translation>
 <translation id="7180611975245234373">Yenile</translation>
+<translation id="7191009787982536050">Ekran koruyucu animasyon</translation>
 <translation id="7212734716605298123">Harici cihazlar için donanım yazılımı güncellemeleri</translation>
 <translation id="7216409898977639127">Hücresel sağlayıcı</translation>
 <translation id="7271040990581020067">Tarayıcı şu anda kullanımda. Daha sonra tekrar deneyin.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
+<translation id="7281657306185710294">Esintiyi hissedin</translation>
 <translation id="7287310195820267359">Duvar Kağıdı Koleksiyonları</translation>
 <translation id="7297226631177386107">HTTPS web sitelerine güvenlik duvarı aracılığıyla bağlanılamıyor</translation>
 <translation id="7302860742311162920">ICCID</translation>
diff --git a/chromeos/strings/chromeos_strings_uk.xtb b/chromeos/strings/chromeos_strings_uk.xtb
index 7719699..8741491 100644
--- a/chromeos/strings/chromeos_strings_uk.xtb
+++ b/chromeos/strings/chromeos_strings_uk.xtb
@@ -52,6 +52,7 @@
 <translation id="1468664791493211953">Пропозиції</translation>
 <translation id="1476467821656042872"><ph name="MANAGER" /> керує цим пристроєм і може відстежувати ваші дії.</translation>
 <translation id="1478594628797167447">Сканери</translation>
+<translation id="1486019694341708158">Увімкніть перемикач, щоб вибрати варіанти заставки</translation>
 <translation id="1491076385728777984"><ph name="DEVICE_NAME" />: оновлення мікропрограми на пристрої</translation>
 <translation id="1499900233129743732"><ph name="MANAGER" /> керує цим користувачем і може віддалено змінювати налаштування та відстежувати його дії.</translation>
 <translation id="150962533380566081">Недійсний PUK-код.</translation>
@@ -106,6 +107,7 @@
 <translation id="2105810540595158374">Це ігровий контролер.</translation>
 <translation id="2119172414412204879"><ph name="BOARD_NAME" />, версія <ph name="MILESTONE_VERSION" /></translation>
 <translation id="2126937207024182736">Доступно <ph name="AVAILABLE_MEMORY" /> з <ph name="TOTAL_MEMORY" /> ГБ</translation>
+<translation id="2138109643290557664">Потік</translation>
 <translation id="2141644705054017895"><ph name="PERCENTAGE_VALUE" />%</translation>
 <translation id="2152882202543497059"><ph name="NUMBER" /> фото</translation>
 <translation id="2157959690810728433">У ЧЕРЗІ</translation>
@@ -268,6 +270,7 @@
 <translation id="4271957103967917607">Переглянути в повноекранному режимі</translation>
 <translation id="4275799948641988986">Хто використовуватиме пристрій після ремонту?</translation>
 <translation id="4289540628985791613">Огляд</translation>
+<translation id="4289849978083912975">Слайд-шоу</translation>
 <translation id="4297501883039923494">Зупинено – невідома помилка</translation>
 <translation id="4300073214558989">Зображень: <ph name="IMAGE_COUNT" /></translation>
 <translation id="4333390807948134856">Клавішу "<ph name="KEY_NAME" />" натиснено</translation>
@@ -539,10 +542,12 @@
 <translation id="7175037578838465313">Налаштувати мережу "<ph name="NAME" />"</translation>
 <translation id="7177485034254901881">Цим пристроєм <ph name="DEVICE_TYPE" /> керує <ph name="MANAGER" />. Адміністратори можуть віддалено налаштовувати його.</translation>
 <translation id="7180611975245234373">Оновити</translation>
+<translation id="7191009787982536050">Анімація для заставки</translation>
 <translation id="7212734716605298123">Оновлення мікропрограми для зовнішніх пристроїв</translation>
 <translation id="7216409898977639127">Постачальник мобільного зв’язку</translation>
 <translation id="7271040990581020067">Cканер використовується. Повторіть спробу пізніше.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
+<translation id="7281657306185710294">Бриз</translation>
 <translation id="7287310195820267359">Колекції фонових малюнків</translation>
 <translation id="7297226631177386107">Не вдається підключитися до веб-сайтів HTTPS через брандмауер</translation>
 <translation id="7302860742311162920">ICCID</translation>
diff --git a/components/autofill_assistant/android/internal/java/strings/translations/android_chrome_autofill_assistant_strings_bs.xtb b/components/autofill_assistant/android/internal/java/strings/translations/android_chrome_autofill_assistant_strings_bs.xtb
index e76be8c..747f02f 100644
--- a/components/autofill_assistant/android/internal/java/strings/translations/android_chrome_autofill_assistant_strings_bs.xtb
+++ b/components/autofill_assistant/android/internal/java/strings/translations/android_chrome_autofill_assistant_strings_bs.xtb
@@ -9,7 +9,7 @@
 <translation id="2783359740176230170">Brza naplata</translation>
 <translation id="3018033505440165876">Isprobajte Google Asistenta\nna Chromeu</translation>
 <translation id="4130750466177569591">Slažem se</translation>
-<translation id="4404736763084919307">Google asistentu treba vaše dopuštenje</translation>
+<translation id="4404736763084919307">Google Asistentu je potrebno vaše odobrenje</translation>
 <translation id="4437727785356380473">Google Asistent u Chromeu je zatvoren.</translation>
 <translation id="4517854969512651305">Povećavanje vrijednosti</translation>
 <translation id="4850886885716139402">Prikaz</translation>
@@ -17,7 +17,7 @@
 <translation id="4982366513646093083">Naručite hranu\nu samo nekoliko dodira</translation>
 <translation id="5267269112080050255">Google Asistent u Chromeu otvoren je na cijelom ekranu.</translation>
 <translation id="5447168050208292829">Prijavite se na let\nu svega nekoliko dodira</translation>
-<translation id="5545898449961003030">Pozdrav, mogu vam pomoći kupiti karte u samo nekoliko dodira</translation>
+<translation id="5545898449961003030">Zdravo, mogu vam pomoći da kupite karte u svega nekoliko dodira</translation>
 <translation id="5801568494490449797">Postavke</translation>
 <translation id="6555233628095991027">Google Asistent je na pola otvoren.</translation>
 <translation id="6785872064505734160">Google Asistent u Chromeu može za vas završavati radnje na svim web lokacijama</translation>
@@ -29,6 +29,6 @@
 <translation id="7953600313732929223">Isprobajte glasovne aktivnosti\nna web lokacijama</translation>
 <translation id="8253702004019660079">Google Asistent u Chromeu.</translation>
 <translation id="8500511870202433545">Iznajmite automobil\nu svega nekoliko dodira</translation>
-<translation id="9084406551994160152">Google asistent olakšava vam kupnju karata za kino pomoću sigurno pohranjenih podataka</translation>
+<translation id="9084406551994160152">Google Asistent vam olakšava da kupite karte pomoću sigurno pohranjenih detalja</translation>
 <translation id="945522503751344254">Pošaljite povratne informacije</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/components/autofill_assistant/android/internal/java/strings/translations/android_chrome_autofill_assistant_strings_ms.xtb b/components/autofill_assistant/android/internal/java/strings/translations/android_chrome_autofill_assistant_strings_ms.xtb
index a6c3c79..d63ac1e 100644
--- a/components/autofill_assistant/android/internal/java/strings/translations/android_chrome_autofill_assistant_strings_ms.xtb
+++ b/components/autofill_assistant/android/internal/java/strings/translations/android_chrome_autofill_assistant_strings_ms.xtb
@@ -9,6 +9,7 @@
 <translation id="2783359740176230170">Pembayaran pantas</translation>
 <translation id="3018033505440165876">Cuba Google Assistant\ndalam Chrome</translation>
 <translation id="4130750466177569591">Saya bersetuju</translation>
+<translation id="4404736763084919307">Google Assistant memerlukan kebenaran anda</translation>
 <translation id="4437727785356380473">Google Assistant dalam Chrome ditutup.</translation>
 <translation id="4517854969512651305">Tingkatkan nilai</translation>
 <translation id="4850886885716139402">Lihat</translation>
@@ -16,6 +17,7 @@
 <translation id="4982366513646093083">Pesan makanan\ndengan hanya beberapa ketikan</translation>
 <translation id="5267269112080050255">Google Assistant dalam Chrome dibuka pada ketinggian penuh.</translation>
 <translation id="5447168050208292829">Daftar masuk ke penerbangan anda\ndengan hanya beberapa ketikan</translation>
+<translation id="5545898449961003030">Hai, saya boleh membantu anda membeli tiket dengan hanya beberapa ketikan</translation>
 <translation id="5801568494490449797">Keutamaan</translation>
 <translation id="6555233628095991027">Google Assistant dalam Chrome dibuka pada ketinggian separuh.</translation>
 <translation id="6785872064505734160">Google Assistant dalam Chrome boleh melengkapkan tindakan merentas laman web untuk anda</translation>
@@ -27,5 +29,6 @@
 <translation id="7953600313732929223">Cuba tindakan suara\npada laman web</translation>
 <translation id="8253702004019660079">Google Assistant dalam Chrome.</translation>
 <translation id="8500511870202433545">Sewa kereta\ndengan hanya beberapa ketikan</translation>
+<translation id="9084406551994160152">Google Assistant memudahkan anda untuk membeli tiket wayang menggunakan butiran anda yang disimpan dengan selamat</translation>
 <translation id="945522503751344254">Hantar maklum balas</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/components/autofill_assistant/android/internal/java/strings/translations/android_chrome_autofill_assistant_strings_si.xtb b/components/autofill_assistant/android/internal/java/strings/translations/android_chrome_autofill_assistant_strings_si.xtb
index 294795c..5c62e62 100644
--- a/components/autofill_assistant/android/internal/java/strings/translations/android_chrome_autofill_assistant_strings_si.xtb
+++ b/components/autofill_assistant/android/internal/java/strings/translations/android_chrome_autofill_assistant_strings_si.xtb
@@ -9,6 +9,7 @@
 <translation id="2783359740176230170">ඉක්මනින් පිරික්සීම</translation>
 <translation id="3018033505440165876">Chrome තුළ\ninGoogle සහායක උත්සාහ කරන්න</translation>
 <translation id="4130750466177569591">මම එකඟ වෙමි</translation>
+<translation id="4404736763084919307">Google සහායකට ඔබගේ අවසරය අවශ්‍යයි</translation>
 <translation id="4437727785356380473">Chrome තුළ Google සහකරු වසා ඇත.</translation>
 <translation id="4517854969512651305">අගය වැඩිකරන්න</translation>
 <translation id="4850886885716139402">දසුන</translation>
@@ -16,6 +17,7 @@
 <translation id="4982366513646093083">හුදු තට්ටු කිරීම් කිහිපයකින්\nආහාර ඇණවුම් කරන්න</translation>
 <translation id="5267269112080050255">Chrome තුළ Google සහකරු සම්පූර්ණ උසෙන් විවෘත කරනු ලැබුවේ ය.</translation>
 <translation id="5447168050208292829">තට්ටු කිරීම් කිහිපයකින්\nඔබේ ගුවන් යානයට ඇතුළු වන්න</translation>
+<translation id="5545898449961003030">ආයුබෝවන්, මට ඔබට තට්ටු කිරීම් කිහිපයකින් ප්‍රවේශපත් මිලදී ගැනීමට උදවු කළ හැකිය</translation>
 <translation id="5801568494490449797">අභිරුචි</translation>
 <translation id="6555233628095991027">Chrome තුළ Google සහකරු අඩ උසෙන් විවෘත කරනු ලැබුවේ ය.</translation>
 <translation id="6785872064505734160">Chrome තුළ ඇති Google සහකරු ඔබ වෙනුවෙන් වෙබය පුරා කාර්ය ඉටු කළ හැක</translation>
@@ -27,5 +29,6 @@
 <translation id="7953600313732929223">වෙබ් අඩවියේ\nහඬ ක්‍රියා උත්සාහ කරන්න</translation>
 <translation id="8253702004019660079">Chrome තුළ Google සහකරු.</translation>
 <translation id="8500511870202433545">තට්ටු කිරීම් කිහිපයකින්\n මෝටර් රථයක් කුලියට ගන්න</translation>
+<translation id="9084406551994160152">ඔබගේ Google සහායක ඔබගේ ආරක්ෂිතව ගබඩා කර ඇති විස්තර භාවිතයෙන් චිත්‍රපට ප්‍රවේශපත් මිලදී ගැනීම පහසු කරයි</translation>
 <translation id="945522503751344254">අදහස් හා යෝජනා යවන්න</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/components/autofill_assistant/android/internal/java/strings/translations/android_chrome_autofill_assistant_strings_ur.xtb b/components/autofill_assistant/android/internal/java/strings/translations/android_chrome_autofill_assistant_strings_ur.xtb
index 33b7c33..d92031d 100644
--- a/components/autofill_assistant/android/internal/java/strings/translations/android_chrome_autofill_assistant_strings_ur.xtb
+++ b/components/autofill_assistant/android/internal/java/strings/translations/android_chrome_autofill_assistant_strings_ur.xtb
@@ -9,6 +9,7 @@
 <translation id="2783359740176230170">تیز چیک آؤٹ</translation>
 <translation id="3018033505440165876">‏‫Chrome میں\nGoogle اسسٹنٹ آزمائیں</translation>
 <translation id="4130750466177569591">میں متفق ہوں</translation>
+<translation id="4404736763084919307">‏Google اسسٹنٹ کو آپ کی اجازت کی ضرورت ہے</translation>
 <translation id="4437727785356380473">‏Chrome میں Google اسسٹنٹ بند ہو گئی ہے۔</translation>
 <translation id="4517854969512651305">قدر بڑھائیں</translation>
 <translation id="4850886885716139402">دیکھیں</translation>
@@ -16,6 +17,7 @@
 <translation id="4982366513646093083">‏صرف چند تھپتھپاہٹوں میں\nکھانا آرڈر کریں</translation>
 <translation id="5267269112080050255">‏Chrome میں Google اسسٹنٹ مکمل اونچائی پر کھلی ہے۔</translation>
 <translation id="5447168050208292829">‏صرف چند تھپتھپاہٹوں میں\nاپنی فلائیٹ میں چیک ان کریں</translation>
+<translation id="5545898449961003030">آداب، میں صرف کچھ تھپتھپاہٹوں میں ٹکٹ خریدنے میں آپ کی مدد کر سکتی ہوں</translation>
 <translation id="5801568494490449797">ترجیحات</translation>
 <translation id="6555233628095991027">‏Chrome میں Google اسسٹنٹ نصف اونچائی پر کھلی ہے۔</translation>
 <translation id="6785872064505734160">‏Chrome میں موجود Google اسسٹنٹ سبھی ویب سائٹوں پر آپ کے لیے کارروائیوں کو مکمل کر سکتی ہے</translation>
@@ -27,5 +29,6 @@
 <translation id="7953600313732929223">‏ویب سائٹس پر\nصوتی کارروائیاں آزمائیں</translation>
 <translation id="8253702004019660079">‏Chrome میں Google اسسٹنٹ۔</translation>
 <translation id="8500511870202433545">‏صرف چند تھپتھپاہٹوں میں\nکار کرائے پر لیں</translation>
+<translation id="9084406551994160152">‏آپ کی Google اسسٹنٹ آپ کی محفوظ طریقے سے اسٹور کردہ تفصیلات کا استعمال کر کے مووی ٹکٹس خریدنا آسان بناتی ہے</translation>
 <translation id="945522503751344254">تاثرات بھیجیں</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/components/autofill_assistant/android/internal/java/strings/translations/android_chrome_autofill_assistant_strings_vi.xtb b/components/autofill_assistant/android/internal/java/strings/translations/android_chrome_autofill_assistant_strings_vi.xtb
index fcab226..7404bf2a 100644
--- a/components/autofill_assistant/android/internal/java/strings/translations/android_chrome_autofill_assistant_strings_vi.xtb
+++ b/components/autofill_assistant/android/internal/java/strings/translations/android_chrome_autofill_assistant_strings_vi.xtb
@@ -9,6 +9,7 @@
 <translation id="2783359740176230170">Thanh toán nhanh</translation>
 <translation id="3018033505440165876">Dùng thử Trợ lý Google\ntrên Chrome</translation>
 <translation id="4130750466177569591">Tôi đồng ý</translation>
+<translation id="4404736763084919307">Trợ lý Google cần bạn cấp quyền</translation>
 <translation id="4437727785356380473">Đã đóng Trợ lý Google trong Chrome.</translation>
 <translation id="4517854969512651305">Tăng giá trị</translation>
 <translation id="4850886885716139402">Xem</translation>
@@ -16,6 +17,7 @@
 <translation id="4982366513646093083">Đặt đồ ăn\nchỉ trong vài thao tác nhấn</translation>
 <translation id="5267269112080050255">Trợ lý Google trong Chrome đã mở trên toàn màn hình.</translation>
 <translation id="5447168050208292829">Làm thủ tục cho chuyến bay\nchỉ trong vài thao tác nhấn</translation>
+<translation id="5545898449961003030">Xin chào, tôi có thể giúp bạn mua vé chỉ bằng một vài lần nhấn</translation>
 <translation id="5801568494490449797">Tùy chọn</translation>
 <translation id="6555233628095991027">Trợ lý Google trong Chrome đã mở ở nửa dưới của màn hình.</translation>
 <translation id="6785872064505734160">Trợ lý Google trong Chrome có thể giúp bạn làm các việc trên trang web</translation>
@@ -27,5 +29,6 @@
 <translation id="7953600313732929223">Thử thao tác bằng giọng nói\ntrên các trang web</translation>
 <translation id="8253702004019660079">Trợ lý Google trong Chrome.</translation>
 <translation id="8500511870202433545">Thuê ô tô\nchỉ trong vài thao tác nhấn</translation>
+<translation id="9084406551994160152">Trợ lý Google sẽ giúp bạn mua vé xem phim dễ dàng hơn bằng cách dùng những thông tin được lưu trữ an toàn của bạn</translation>
 <translation id="945522503751344254">Gửi phản hồi</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/components/autofill_assistant/android/java/src/org/chromium/components/autofill_assistant/AutofillAssistantUiController.java b/components/autofill_assistant/android/java/src/org/chromium/components/autofill_assistant/AutofillAssistantUiController.java
index 523fa12..bc964230 100644
--- a/components/autofill_assistant/android/java/src/org/chromium/components/autofill_assistant/AutofillAssistantUiController.java
+++ b/components/autofill_assistant/android/java/src/org/chromium/components/autofill_assistant/AutofillAssistantUiController.java
@@ -318,7 +318,7 @@
             boolean disabled, boolean sticky, boolean visible,
             @Nullable String contentDescription) {
         AssistantChip chip = AssistantChip.createHairlineAssistantChip(
-                icon, text, disabled, sticky, visible, contentDescription);
+                icon, text, disabled, sticky, visible, contentDescription, "action_" + actionIndex);
         chip.setSelectedListener(() -> safeNativeOnUserActionSelected(actionIndex));
         return chip;
     }
@@ -331,7 +331,7 @@
             boolean disabled, boolean sticky, boolean visible,
             @Nullable String contentDescription) {
         AssistantChip chip = AssistantChip.createHighlightedAssistantChip(
-                icon, text, disabled, sticky, visible, contentDescription);
+                icon, text, disabled, sticky, visible, contentDescription, "action_" + actionIndex);
         chip.setSelectedListener(() -> safeNativeOnUserActionSelected(actionIndex));
         return chip;
     }
@@ -346,7 +346,7 @@
             boolean disabled, boolean sticky, boolean visible,
             @Nullable String contentDescription) {
         AssistantChip chip = AssistantChip.createHairlineAssistantChip(
-                icon, text, disabled, sticky, visible, contentDescription);
+                icon, text, disabled, sticky, visible, contentDescription, "cancel_" + actionIndex);
         chip.setSelectedListener(() -> safeNativeOnCancelButtonClicked(actionIndex));
         return chip;
     }
@@ -358,7 +358,8 @@
     private AssistantChip createCloseButton(int icon, String text, boolean disabled, boolean sticky,
             boolean visible, @Nullable String contentDescription) {
         AssistantChip chip = AssistantChip.createHairlineAssistantChip(
-                icon, text, disabled, sticky, visible, contentDescription);
+                icon, text, disabled, sticky, visible, contentDescription, "close");
+
         chip.setSelectedListener(() -> safeNativeOnCloseButtonClicked());
         return chip;
     }
@@ -371,8 +372,8 @@
     private AssistantChip createFeedbackButton(int icon, String text, int actionIndex,
             boolean disabled, boolean sticky, boolean visible,
             @Nullable String contentDescription) {
-        AssistantChip chip = AssistantChip.createHairlineAssistantChip(
-                icon, text, disabled, sticky, visible, contentDescription);
+        AssistantChip chip = AssistantChip.createHairlineAssistantChip(icon, text, disabled, sticky,
+                visible, contentDescription, "feedback_" + actionIndex);
         chip.setSelectedListener(() -> safeNativeOnFeedbackButtonClicked(actionIndex));
         return chip;
     }
diff --git a/components/autofill_assistant/android/java/src/org/chromium/components/autofill_assistant/carousel/AssistantChip.java b/components/autofill_assistant/android/java/src/org/chromium/components/autofill_assistant/carousel/AssistantChip.java
index a391a5b..0e6f624 100644
--- a/components/autofill_assistant/android/java/src/org/chromium/components/autofill_assistant/carousel/AssistantChip.java
+++ b/components/autofill_assistant/android/java/src/org/chromium/components/autofill_assistant/carousel/AssistantChip.java
@@ -93,18 +93,32 @@
     /** The content description for the chip. */
     private final @Nullable String mContentDescription;
 
+    /**
+     * Optional identifier used to distinguish two otherwise equal buttons (like close and cancel).
+     * It's only necessary when a chip in a container needs to update its listener without changing
+     * any other property or removing it first.
+     */
+    private final String mOptionalIdentifier;
+
     public AssistantChip(@Type int type, @Icon int icon, String text, boolean disabled,
-            boolean sticky, boolean visible, @Nullable String contentDescription) {
+            boolean sticky, boolean visible, @Nullable String contentDescription,
+            String optionalIdentifier) {
         mType = type;
         mIcon = icon;
         mText = text;
         mDisabled = disabled;
         mSticky = sticky;
         mVisible = visible;
+        mOptionalIdentifier = optionalIdentifier;
         mContentDescription = contentDescription;
     }
 
     public AssistantChip(@Type int type, @Icon int icon, String text, boolean disabled,
+            boolean sticky, boolean visible, @Nullable String contentDescription) {
+        this(type, icon, text, disabled, sticky, visible, contentDescription, "");
+    }
+
+    public AssistantChip(@Type int type, @Icon int icon, String text, boolean disabled,
             boolean sticky, boolean visible, Runnable selectedListener,
             @Nullable String contentDescription) {
         this(type, icon, text, disabled, sticky, visible, contentDescription);
@@ -169,6 +183,10 @@
         return mOnPopupItemSelected;
     }
 
+    public String getOptionalIdentifier() {
+        return mOptionalIdentifier;
+    }
+
     @Override
     public boolean equals(Object other) {
         if (!(other instanceof AssistantChip)) {
@@ -178,7 +196,8 @@
         AssistantChip that = (AssistantChip) other;
         return this.getType() == that.getType() && this.getText().equals(that.getText())
                 && this.getIcon() == that.getIcon() && this.isSticky() == that.isSticky()
-                && this.isDisabled() == that.isDisabled() && this.isVisible() == that.isVisible();
+                && this.isDisabled() == that.isDisabled() && this.isVisible() == that.isVisible()
+                && this.getOptionalIdentifier().equals(that.getOptionalIdentifier());
     }
 
     /**
@@ -187,9 +206,10 @@
      */
     @CalledByNative
     public static AssistantChip createHairlineAssistantChip(int icon, String text, boolean disabled,
-            boolean sticky, boolean visible, @Nullable String contentDescription) {
+            boolean sticky, boolean visible, @Nullable String contentDescription,
+            String optionalIdentifier) {
         return new AssistantChip(AssistantChip.Type.BUTTON_HAIRLINE, icon, text, disabled, sticky,
-                visible, contentDescription);
+                visible, contentDescription, optionalIdentifier);
     }
 
     /**
@@ -198,10 +218,10 @@
      */
     @CalledByNative
     public static AssistantChip createHighlightedAssistantChip(int icon, String text,
-            boolean disabled, boolean sticky, boolean visible,
-            @Nullable String contentDescription) {
-        return new AssistantChip(
-                Type.BUTTON_FILLED_BLUE, icon, text, disabled, sticky, visible, contentDescription);
+            boolean disabled, boolean sticky, boolean visible, @Nullable String contentDescription,
+            String optionalIdentifier) {
+        return new AssistantChip(Type.BUTTON_FILLED_BLUE, icon, text, disabled, sticky, visible,
+                contentDescription, optionalIdentifier);
     }
 
     @CalledByNative
diff --git a/components/autofill_assistant/browser/android/ui_controller_android_utils.cc b/components/autofill_assistant/browser/android/ui_controller_android_utils.cc
index 9e49c93..0b4f2b6 100644
--- a/components/autofill_assistant/browser/android/ui_controller_android_utils.cc
+++ b/components/autofill_assistant/browser/android/ui_controller_android_utils.cc
@@ -497,7 +497,9 @@
           chip.has_content_description()
               ? base::android::ConvertUTF8ToJavaString(
                     env, chip.content_description())
-              : nullptr);
+              : nullptr,
+          /* optionalIdentifier = */
+          base::android::ConvertUTF8ToJavaString(env, std::string()));
 
     case NORMAL_ACTION:
     case CANCEL_ACTION:
@@ -510,7 +512,9 @@
           chip.has_content_description()
               ? base::android::ConvertUTF8ToJavaString(
                     env, chip.content_description())
-              : nullptr);
+              : nullptr,
+          /* optionalIdentifier= */
+          base::android::ConvertUTF8ToJavaString(env, std::string()));
   }
 }
 
diff --git a/components/autofill_assistant/browser/client_status.cc b/components/autofill_assistant/browser/client_status.cc
index 91ae265..ea9e2171 100644
--- a/components/autofill_assistant/browser/client_status.cc
+++ b/components/autofill_assistant/browser/client_status.cc
@@ -170,6 +170,9 @@
     case ProcessedActionStatusProto::USER_DATA_REQUEST_FAILED:
       out << "USER_DATA_REQUEST_FAILED";
       break;
+    case ProcessedActionStatusProto::JS_FORCED_ROUNDTRIP:
+      out << "JS_FORCED_ROUNDTRIP";
+      break;
 
       // Intentionally no default case to make compilation fail if a new value
       // was added to the enum but not to this list.
diff --git a/components/autofill_assistant/browser/model.proto b/components/autofill_assistant/browser/model.proto
index fbaa157d..af20a210 100644
--- a/components/autofill_assistant/browser/model.proto
+++ b/components/autofill_assistant/browser/model.proto
@@ -87,7 +87,7 @@
 // a boolean field would have.
 message Empty {}
 
-// Next: 34
+// Next Id: 40
 enum ProcessedActionStatusProto {
   UNKNOWN_ACTION_STATUS = 0;
 
@@ -242,6 +242,9 @@
   // Requesting the user data from our data endpoint failed.
   USER_DATA_REQUEST_FAILED = 38;
 
+  // The js flow action forced an additional roundtrip.
+  JS_FORCED_ROUNDTRIP = 39;
+
   reserved 15, 23, 25, 32;
 }
 
diff --git a/components/browser_sync/browser_sync_switches.h b/components/browser_sync/browser_sync_switches.h
index 140ef5d1..6ee9665 100644
--- a/components/browser_sync/browser_sync_switches.h
+++ b/components/browser_sync/browser_sync_switches.h
@@ -19,11 +19,6 @@
 // flag is present.
 inline constexpr char kLocalSyncBackendDir[] = "local-sync-backend-dir";
 
-#if BUILDFLAG(IS_ANDROID)
-inline constexpr base::Feature kSyncUseSessionsUnregisterDelay{
-    "SyncUseSessionsUnregisterDelay", base::FEATURE_DISABLED_BY_DEFAULT};
-#endif  // BUILDFLAG(IS_ANDROID)
-
 // Sync invalidation switches.
 //
 // Enables providing the list of FCM registration tokens in the commit request.
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_da.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_da.xtb
index 7066871..2399ccc 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_da.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_da.xtb
@@ -77,6 +77,7 @@
 <translation id="2687403674020088961">Bloker alle cookies (anbefales ikke)</translation>
 <translation id="2704606927547763573">Kopieret</translation>
 <translation id="2717722538473713889">Mailadresser</translation>
+<translation id="2750481671343847896">Websites kan vise loginmeddelelser fra identitetstjenester.</translation>
 <translation id="2785051990912111074">Denne handling rydder cookies for <ph name="WEBSITE" /></translation>
 <translation id="2822354292072154809">Er du sikker på, at du vil nulstille alle websitetilladelser for <ph name="CHOSEN_OBJECT_NAME" />?</translation>
 <translation id="2870560284913253234">Website</translation>
@@ -112,6 +113,7 @@
 <translation id="3763247130972274048">Tryk to gange i videoens venstre eller højre side for at springe ti sekunder frem eller tilbage</translation>
 <translation id="3797520601150691162">Anvend ikke Mørkt tema på et bestemt website</translation>
 <translation id="381841723434055211">Telefonnumre</translation>
+<translation id="3826050100957962900">Third-party sign-in</translation>
 <translation id="3835233591525155343">Din enhedsbrug</translation>
 <translation id="385051799172605136">Tilbage</translation>
 <translation id="3859306556332390985">Spol fremad</translation>
@@ -235,6 +237,7 @@
 <translation id="6643016212128521049">Ryd</translation>
 <translation id="6689172468748959065">Profilbilleder</translation>
 <translation id="6697925417670533197">Aktive downloads</translation>
+<translation id="6722828510648505498">Bloker loginmeddelelser fra identitetstjenester</translation>
 <translation id="6746124502594467657">Flyt ned</translation>
 <translation id="6749077623962119521">Vil du nulstille tilladelserne?</translation>
 <translation id="6766622839693428701">Stryg ned for at lukke.</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_pa.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_pa.xtb
index 9a77b22..b057773 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_pa.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_pa.xtb
@@ -77,6 +77,7 @@
 <translation id="2687403674020088961">ਸਾਰੀਆਂ ਕੁਕੀਜ਼ ਨੂੰ ਬਲਾਕ ਕਰੋ (ਇਸਦੀ ਸਿਫ਼ਾਰਸ਼ ਨਹੀਂ ਕੀਤੀ ਜਾਂਦੀ)</translation>
 <translation id="2704606927547763573">ਕਾਪੀ ਕੀਤਾ</translation>
 <translation id="2717722538473713889">ਈਮੇਲ ਪਤੇ</translation>
+<translation id="2750481671343847896">ਸਾਈਟਾਂ ਪਛਾਣ ਸੰਬੰਧੀ ਸੇਵਾਵਾਂ ਵੱਲੋਂ ਸਾਈਨ-ਇਨ ਕਰਨ ਦੇ ਉਤਪ੍ਰੇਰਕਾਂ ਨੂੰ ਦਿਖਾ ਸਕਦੀਆਂ ਹਨ।</translation>
 <translation id="2785051990912111074">ਇਹ ਚੋਣ <ph name="WEBSITE" /> ਦੀਆਂ ਕੁਕੀਜ਼ ਨੂੰ ਕਲੀਅਰ ਕਰ ਦੇਵੇਗੀ</translation>
 <translation id="2822354292072154809">ਕੀ ਤੁਸੀਂ ਪੱਕਾ <ph name="CHOSEN_OBJECT_NAME" /> ਲਈ ਸਾਰੀਆਂ ਸਾਈਟ ਇਜਾਜ਼ਤਾਂ ਨੂੰ ਰੀਸੈੱਟ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?</translation>
 <translation id="2870560284913253234">ਸਾਈਟ</translation>
@@ -112,6 +113,7 @@
 <translation id="3763247130972274048">10 ਸਕਿੰਟ ਅੱਗੇ ਜਾਂ ਪਿੱਛੇ ਜਾਣ ਲਈ ਵੀਡੀਓ 'ਤੇ ਖੱਬੇ ਜਾਂ ਸੱਜੇ ਡਬਲ ਟੈਪ ਕਰੋ</translation>
 <translation id="3797520601150691162">ਕਿਸੇ ਖਾਸ ਸਾਈਟ ਲਈ ਗੂੜ੍ਹਾ ਥੀਮ ਲਾਗੂ ਨਾ ਕਰੋ</translation>
 <translation id="381841723434055211">ਫ਼ੋਨ ਨੰਬਰ</translation>
+<translation id="3826050100957962900">ਤੀਜੀ-ਧਿਰ ਦਾ ਸਾਈਨ-ਇਨ</translation>
 <translation id="3835233591525155343">ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਦੀ ਵਰਤੋਂ</translation>
 <translation id="385051799172605136">ਪਿੱਛੇ</translation>
 <translation id="3859306556332390985">ਅੱਗੇ ਵੱਲ ਨੂੰ ਲੈ ਜਾਓ</translation>
@@ -235,6 +237,7 @@
 <translation id="6643016212128521049">ਹਟਾਓ</translation>
 <translation id="6689172468748959065">ਪ੍ਰੋਫਾਈਲ ਫ਼ੋਟੋਆਂ</translation>
 <translation id="6697925417670533197">ਕਿਰਿਆਸ਼ੀਲ ਡਾਊਨਲੋਡ</translation>
+<translation id="6722828510648505498">ਪਛਾਣ ਸੰਬੰਧੀ ਸੇਵਾਵਾਂ ਵੱਲੋਂ ਸਾਈਨ-ਇਨ ਕਰਨ ਦੇ ਉਤਪ੍ਰੇਰਕਾਂ ਨੂੰ ਬਲਾਕ ਕਰੋ।</translation>
 <translation id="6746124502594467657">ਹੇਠਾਂ ਜਾਓ</translation>
 <translation id="6749077623962119521">ਕੀ ਇਜਾਜ਼ਤਾਂ ਨੂੰ ਰੀਸੈੱਟ ਕਰਨਾ ਹੈ?</translation>
 <translation id="6766622839693428701">ਬੰਦ ਕਰਨ ਲਈ ਹੇਠਾਂ ਵੱਲ ਸਵਾਈਪ ਕਰੋ।</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_tr.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_tr.xtb
index 8cd8265..a4b6bff 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_tr.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_tr.xtb
@@ -77,6 +77,7 @@
 <translation id="2687403674020088961">Tüm çerezleri engelle (önerilmez)</translation>
 <translation id="2704606927547763573">Kopyalandı</translation>
 <translation id="2717722538473713889">E-posta adresleri</translation>
+<translation id="2750481671343847896">Siteler, kimlik hizmetlerinden gelen oturum açma istemlerini gösterebilir.</translation>
 <translation id="2785051990912111074">Bu tercih, <ph name="WEBSITE" /> çerezlerini temizler</translation>
 <translation id="2822354292072154809"><ph name="CHOSEN_OBJECT_NAME" /> için tüm site izinlerini sıfırlamak istediğinizden emin misiniz?</translation>
 <translation id="2870560284913253234">Site</translation>
@@ -112,6 +113,7 @@
 <translation id="3763247130972274048">10 sn. atlamak için videoda sola veya sağa iki kez dokunun</translation>
 <translation id="3797520601150691162">Belirli bir siteye koyu tema uygulama</translation>
 <translation id="381841723434055211">Telefon numaraları</translation>
+<translation id="3826050100957962900">Üçüncü taraf oturum açma</translation>
 <translation id="3835233591525155343">Cihaz kullanımınız</translation>
 <translation id="385051799172605136">Geri</translation>
 <translation id="3859306556332390985">İleriye doğru git</translation>
@@ -235,6 +237,7 @@
 <translation id="6643016212128521049">Temizle</translation>
 <translation id="6689172468748959065">Profil fotoğrafları</translation>
 <translation id="6697925417670533197">Etkin indirme işlemleri</translation>
+<translation id="6722828510648505498">Kimlik hizmetlerinden gelen oturum açma istemlerini engelleyin.</translation>
 <translation id="6746124502594467657">Aşağı taşı</translation>
 <translation id="6749077623962119521">İzinler sıfırlansın mı?</translation>
 <translation id="6766622839693428701">Kapatmak için aşağı kaydırın.</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_uk.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_uk.xtb
index 002dd3420..9686c58 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_uk.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_uk.xtb
@@ -77,6 +77,7 @@
 <translation id="2687403674020088961">Блокувати всі файли cookie (не рекомендовано)</translation>
 <translation id="2704606927547763573">Скопійов.</translation>
 <translation id="2717722538473713889">Електронні адреси</translation>
+<translation id="2750481671343847896">Сайти можуть показувати підказки щодо входу від сервісів ідентифікації</translation>
 <translation id="2785051990912111074">Буде видалено файли cookie для веб-сайту <ph name="WEBSITE" /></translation>
 <translation id="2822354292072154809">Скинути всі дозволи сайту <ph name="CHOSEN_OBJECT_NAME" />?</translation>
 <translation id="2870560284913253234">Сайт</translation>
@@ -112,6 +113,7 @@
 <translation id="3763247130972274048">Двічі торкніться відео ліворуч або праворуч, щоб пропустити 10 с</translation>
 <translation id="3797520601150691162">Не використовувати темну тему для певного сайту</translation>
 <translation id="381841723434055211">Номери телефонів</translation>
+<translation id="3826050100957962900">Вхід через сторонні сервіси</translation>
 <translation id="3835233591525155343">Дані про активний стан пристрою</translation>
 <translation id="385051799172605136">Назад</translation>
 <translation id="3859306556332390985">Далі</translation>
@@ -235,6 +237,7 @@
 <translation id="6643016212128521049">Очистити</translation>
 <translation id="6689172468748959065">Фотографії профілів</translation>
 <translation id="6697925417670533197">Активні завантаження</translation>
+<translation id="6722828510648505498">Блокувати підказки щодо входу від сервісів ідентифікації</translation>
 <translation id="6746124502594467657">Вниз</translation>
 <translation id="6749077623962119521">Скинути дозволи?</translation>
 <translation id="6766622839693428701">Проведіть пальцем униз, щоб закрити.</translation>
diff --git a/components/content_settings/browser/content_settings_manager_impl.cc b/components/content_settings/browser/content_settings_manager_impl.cc
index 4b061b40..d377f20 100644
--- a/components/content_settings/browser/content_settings_manager_impl.cc
+++ b/components/content_settings/browser/content_settings_manager_impl.cc
@@ -47,19 +47,6 @@
   }
 }
 
-void OnDomStorageAccessed(int process_id,
-                          int frame_id,
-                          const GURL& origin_url,
-                          const GURL& top_origin_url,
-                          bool local,
-                          bool blocked_by_policy) {
-  PageSpecificContentSettings* settings =
-      PageSpecificContentSettings::GetForFrame(
-          content::RenderFrameHost::FromID(process_id, frame_id));
-  if (settings)
-    settings->OnDomStorageAccessed(origin_url, local, blocked_by_policy);
-}
-
 void NotifyStorageAccess(int render_process_id,
                          int32_t render_frame_id,
                          StorageType storage_type,
@@ -67,50 +54,49 @@
                          const url::Origin& top_frame_origin,
                          bool allowed) {
   DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
-  switch (storage_type) {
-    case StorageType::DATABASE:
-      PageSpecificContentSettings::WebDatabaseAccessed(
-          render_process_id, render_frame_id, url, !allowed);
-      break;
-    case StorageType::LOCAL_STORAGE:
-      OnDomStorageAccessed(render_process_id, render_frame_id, url,
-                           top_frame_origin.GetURL(), true, !allowed);
-      OnStorageAccessed(render_process_id, render_frame_id, url,
-                        top_frame_origin.GetURL(), !allowed,
-                        page_load_metrics::StorageType::kLocalStorage);
-      break;
-    case StorageType::SESSION_STORAGE:
-      OnDomStorageAccessed(render_process_id, render_frame_id, url,
-                           top_frame_origin.GetURL(), false, !allowed);
-      OnStorageAccessed(render_process_id, render_frame_id, url,
-                        top_frame_origin.GetURL(), !allowed,
-                        page_load_metrics::StorageType::kSessionStorage);
+  bool should_notify_pscs = ([storage_type]() {
+    switch (storage_type) {
+      case StorageType::DATABASE:
+      case StorageType::LOCAL_STORAGE:
+      case StorageType::SESSION_STORAGE:
+      case StorageType::FILE_SYSTEM:
+      case StorageType::INDEXED_DB:
+      case StorageType::CACHE:
+        return true;
+      case StorageType::WEB_LOCKS:
+        // State not persisted, no need to record anything;
+        return false;
+    }
+  })();
 
-      break;
-    case StorageType::FILE_SYSTEM:
-      PageSpecificContentSettings::FileSystemAccessed(
-          render_process_id, render_frame_id, url, !allowed);
-      OnStorageAccessed(render_process_id, render_frame_id, url,
-                        top_frame_origin.GetURL(), !allowed,
-                        page_load_metrics::StorageType::kFileSystem);
-      break;
-    case StorageType::INDEXED_DB:
-      PageSpecificContentSettings::IndexedDBAccessed(
-          render_process_id, render_frame_id, url, !allowed);
-      OnStorageAccessed(render_process_id, render_frame_id, url,
-                        top_frame_origin.GetURL(), !allowed,
-                        page_load_metrics::StorageType::kIndexedDb);
-      break;
-    case StorageType::CACHE:
-      PageSpecificContentSettings::CacheStorageAccessed(
-          render_process_id, render_frame_id, url, !allowed);
-      OnStorageAccessed(render_process_id, render_frame_id, url,
-                        top_frame_origin.GetURL(), !allowed,
-                        page_load_metrics::StorageType::kCacheStorage);
-      break;
-    case StorageType::WEB_LOCKS:
-      // State not persisted, no need to record anything.
-      break;
+  auto metrics_type =
+      ([storage_type]() -> absl::optional<page_load_metrics::StorageType> {
+        switch (storage_type) {
+          case StorageType::LOCAL_STORAGE:
+            return page_load_metrics::StorageType::kLocalStorage;
+          case StorageType::SESSION_STORAGE:
+            return page_load_metrics::StorageType::kSessionStorage;
+          case StorageType::FILE_SYSTEM:
+            return page_load_metrics::StorageType::kFileSystem;
+          case StorageType::INDEXED_DB:
+            return page_load_metrics::StorageType::kIndexedDb;
+          case StorageType::CACHE:
+            return page_load_metrics::StorageType::kCacheStorage;
+          case StorageType::DATABASE:
+          case StorageType::WEB_LOCKS:
+            return absl::nullopt;
+        }
+      })();
+
+  if (should_notify_pscs) {
+    PageSpecificContentSettings::StorageAccessed(
+        storage_type, render_process_id, render_frame_id, url, !allowed);
+  }
+
+  if (metrics_type) {
+    OnStorageAccessed(render_process_id, render_frame_id, url,
+                      top_frame_origin.GetURL(), !allowed,
+                      metrics_type.value());
   }
 }
 
diff --git a/components/content_settings/browser/page_specific_content_settings.cc b/components/content_settings/browser/page_specific_content_settings.cc
index 6802b52..5a644a67 100644
--- a/components/content_settings/browser/page_specific_content_settings.cc
+++ b/components/content_settings/browser/page_specific_content_settings.cc
@@ -59,6 +59,8 @@
 
 }  // namespace
 
+using StorageType = mojom::ContentSettingsManager::StorageType;
+
 PageSpecificContentSettings::SiteDataObserver::SiteDataObserver(
     content::WebContents* web_contents)
     : web_contents_(web_contents) {
@@ -309,51 +311,17 @@
 }
 
 // static
-void PageSpecificContentSettings::WebDatabaseAccessed(int render_process_id,
-                                                      int render_frame_id,
-                                                      const GURL& url,
-                                                      bool blocked_by_policy) {
+void PageSpecificContentSettings::StorageAccessed(
+    mojom::ContentSettingsManager::StorageType storage_type,
+    int render_process_id,
+    int render_frame_id,
+    const GURL& url,
+    bool blocked_by_policy) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   PageSpecificContentSettings* settings =
       GetForFrame(render_process_id, render_frame_id);
   if (settings)
-    settings->OnWebDatabaseAccessed(url, blocked_by_policy);
-}
-
-// static
-void PageSpecificContentSettings::IndexedDBAccessed(int render_process_id,
-                                                    int render_frame_id,
-                                                    const GURL& url,
-                                                    bool blocked_by_policy) {
-  DCHECK_CURRENTLY_ON(BrowserThread::UI);
-  PageSpecificContentSettings* settings =
-      GetForFrame(render_process_id, render_frame_id);
-  if (settings)
-    settings->OnIndexedDBAccessed(url, blocked_by_policy);
-}
-
-// static
-void PageSpecificContentSettings::CacheStorageAccessed(int render_process_id,
-                                                       int render_frame_id,
-                                                       const GURL& url,
-                                                       bool blocked_by_policy) {
-  DCHECK_CURRENTLY_ON(BrowserThread::UI);
-  PageSpecificContentSettings* settings =
-      GetForFrame(render_process_id, render_frame_id);
-  if (settings)
-    settings->OnCacheStorageAccessed(url, blocked_by_policy);
-}
-
-// static
-void PageSpecificContentSettings::FileSystemAccessed(int render_process_id,
-                                                     int render_frame_id,
-                                                     const GURL& url,
-                                                     bool blocked_by_policy) {
-  DCHECK_CURRENTLY_ON(BrowserThread::UI);
-  PageSpecificContentSettings* settings =
-      GetForFrame(render_process_id, render_frame_id);
-  if (settings)
-    settings->OnFileSystemAccessed(url, blocked_by_policy);
+    settings->OnStorageAccessed(storage_type, url, blocked_by_policy);
 }
 
 // static
@@ -505,29 +473,58 @@
   }
 }
 
-void PageSpecificContentSettings::OnDomStorageAccessed(const GURL& url,
-                                                       bool local,
-                                                       bool blocked_by_policy) {
-  browsing_data::LocalSharedObjectsContainer& container =
-      blocked_by_policy ? blocked_local_shared_objects_
-                        : allowed_local_shared_objects_;
-  browsing_data::CannedLocalStorageHelper* helper =
-      local ? container.local_storages() : container.session_storages();
-  helper->Add(
+namespace {
+void AddToContainer(browsing_data::LocalSharedObjectsContainer& container,
+                    StorageType storage_type,
+                    const GURL& url) {
+  url::Origin origin = url::Origin::Create(url);
+  switch (storage_type) {
+    case StorageType::DATABASE:
+      container.databases()->Add(origin);
+      return;
+    case StorageType::LOCAL_STORAGE:
       // TODO(https://crbug.com/1199077): Pass the real StorageKey into this
       // function directly.
-      blink::StorageKey(url::Origin::Create(url)));
+      container.local_storages()->Add(blink::StorageKey(origin));
+      return;
+    case StorageType::SESSION_STORAGE:
+      // TODO(https://crbug.com/1199077): Pass the real StorageKey into this
+      // function directly.
+      container.session_storages()->Add(blink::StorageKey(origin));
+      return;
+    case StorageType::INDEXED_DB:
+      // TODO(https://crbug.com/1199077): Pass the real StorageKey into this
+      // function directly.
+      container.indexed_dbs()->Add(blink::StorageKey(origin));
+      return;
+    case StorageType::CACHE:
+      container.cache_storages()->Add(origin);
+      return;
+    case StorageType::FILE_SYSTEM:
+      container.file_systems()->Add(origin);
+      return;
+    case StorageType::WEB_LOCKS:
+      NOTREACHED();
+      return;
+  }
+}
+}  // namespace
 
+void PageSpecificContentSettings::OnStorageAccessed(StorageType storage_type,
+                                                    const GURL& url,
+                                                    bool blocked_by_policy) {
   if (blocked_by_policy) {
+    AddToContainer(blocked_local_shared_objects_, storage_type, url);
     OnContentBlocked(ContentSettingsType::COOKIES);
   } else {
-    NotifyDelegate(&Delegate::OnDomStorageAccessAllowed,
+    AddToContainer(allowed_local_shared_objects_, storage_type, url);
+    NotifyDelegate(&Delegate::OnStorageAccessAllowed, storage_type,
                    url::Origin::Create(url));
     OnContentAllowed(ContentSettingsType::COOKIES);
   }
 
-  MaybeUpdateParent(&PageSpecificContentSettings::OnDomStorageAccessed, url,
-                    local, blocked_by_policy);
+  MaybeUpdateParent(&PageSpecificContentSettings::OnStorageAccessed,
+                    storage_type, url, blocked_by_policy);
   MaybeNotifySiteDataObservers();
 }
 
@@ -548,49 +545,6 @@
   MaybeNotifySiteDataObservers();
 }
 
-void PageSpecificContentSettings::OnIndexedDBAccessed(const GURL& url,
-                                                      bool blocked_by_policy) {
-  if (blocked_by_policy) {
-    // TODO(https://crbug.com/1199077): Pass the real StorageKey into this
-    // function directly.
-    blocked_local_shared_objects_.indexed_dbs()->Add(
-        blink::StorageKey(url::Origin::Create(url)));
-    OnContentBlocked(ContentSettingsType::COOKIES);
-  } else {
-    // TODO(https://crbug.com/1199077): Pass the real StorageKey into this
-    // function directly.
-    allowed_local_shared_objects_.indexed_dbs()->Add(
-        blink::StorageKey(url::Origin::Create(url)));
-    NotifyDelegate(&Delegate::OnIndexedDBAccessAllowed,
-                   url::Origin::Create(url));
-    OnContentAllowed(ContentSettingsType::COOKIES);
-  }
-
-  MaybeUpdateParent(&PageSpecificContentSettings::OnIndexedDBAccessed, url,
-                    blocked_by_policy);
-  MaybeNotifySiteDataObservers();
-}
-
-void PageSpecificContentSettings::OnCacheStorageAccessed(
-    const GURL& url,
-    bool blocked_by_policy) {
-  if (blocked_by_policy) {
-    blocked_local_shared_objects_.cache_storages()->Add(
-        url::Origin::Create(url));
-    OnContentBlocked(ContentSettingsType::COOKIES);
-  } else {
-    allowed_local_shared_objects_.cache_storages()->Add(
-        url::Origin::Create(url));
-    NotifyDelegate(&Delegate::OnCacheStorageAccessAllowed,
-                   url::Origin::Create(url));
-    OnContentAllowed(ContentSettingsType::COOKIES);
-  }
-
-  MaybeUpdateParent(&PageSpecificContentSettings::OnCacheStorageAccessed, url,
-                    blocked_by_policy);
-  MaybeNotifySiteDataObservers();
-}
-
 void PageSpecificContentSettings::OnServiceWorkerAccessed(
     const GURL& scope,
     content::AllowServiceWorkerResult allowed) {
@@ -664,44 +618,6 @@
                     blocked_by_policy, topic);
 }
 
-void PageSpecificContentSettings::OnWebDatabaseAccessed(
-    const GURL& url,
-    bool blocked_by_policy) {
-  if (blocked_by_policy) {
-    blocked_local_shared_objects_.databases()->Add(url::Origin::Create(url));
-    OnContentBlocked(ContentSettingsType::COOKIES);
-  } else {
-    allowed_local_shared_objects_.databases()->Add(url::Origin::Create(url));
-    NotifyDelegate(&Delegate::OnWebDatabaseAccessAllowed,
-                   url::Origin::Create(url));
-    OnContentAllowed(ContentSettingsType::COOKIES);
-  }
-
-  MaybeUpdateParent(&PageSpecificContentSettings::OnWebDatabaseAccessed, url,
-                    blocked_by_policy);
-  MaybeNotifySiteDataObservers();
-}
-
-void PageSpecificContentSettings::OnFileSystemAccessed(const GURL& url,
-                                                       bool blocked_by_policy) {
-  // Note that all sandboxed file system access is recorded here as
-  // kTemporary; the distinction between temporary (default) and persistent
-  // storage is not made in the UI that presents this data.
-  if (blocked_by_policy) {
-    blocked_local_shared_objects_.file_systems()->Add(url::Origin::Create(url));
-    OnContentBlocked(ContentSettingsType::COOKIES);
-  } else {
-    allowed_local_shared_objects_.file_systems()->Add(url::Origin::Create(url));
-    NotifyDelegate(&Delegate::OnFileSystemAccessAllowed,
-                   url::Origin::Create(url));
-    OnContentAllowed(ContentSettingsType::COOKIES);
-  }
-
-  MaybeUpdateParent(&PageSpecificContentSettings::OnFileSystemAccessed, url,
-                    blocked_by_policy);
-  MaybeNotifySiteDataObservers();
-}
-
 #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN)
 void PageSpecificContentSettings::OnProtectedMediaIdentifierPermissionSet(
     const GURL& requesting_origin,
diff --git a/components/content_settings/browser/page_specific_content_settings.h b/components/content_settings/browser/page_specific_content_settings.h
index d2fbbe4..8f1b31a 100644
--- a/components/content_settings/browser/page_specific_content_settings.h
+++ b/components/content_settings/browser/page_specific_content_settings.h
@@ -22,6 +22,7 @@
 #include "build/chromeos_buildflags.h"
 #include "components/browsing_data/content/cookie_helper.h"
 #include "components/browsing_data/content/local_shared_objects_container.h"
+#include "components/content_settings/common/content_settings_manager.mojom.h"
 #include "components/content_settings/core/browser/content_settings_observer.h"
 #include "components/content_settings/core/browser/host_content_settings_map.h"
 #include "components/content_settings/core/common/content_settings.h"
@@ -139,33 +140,19 @@
     // Notifies the delegate a particular content settings type was blocked.
     virtual void OnContentBlocked(ContentSettingsType type) = 0;
 
-    // Notifies the delegate that access was granted to cache storage for
-    // |origin|.
-    virtual void OnCacheStorageAccessAllowed(const url::Origin& origin) = 0;
+    // Notifies the delegate that access to storage of type |storage_type| was
+    // granted in |page|.
+    virtual void OnStorageAccessAllowed(
+        mojom::ContentSettingsManager::StorageType storage_type,
+        const url::Origin& origin) = 0;
 
     // Notifies the delegate that access was granted to |accessed_cookies|.
     virtual void OnCookieAccessAllowed(
         const net::CookieList& accessed_cookies) = 0;
 
-    // Notifies the delegate that access was granted to DOM storage for
-    // |origin|.
-    virtual void OnDomStorageAccessAllowed(const url::Origin& origin) = 0;
-
-    // Notifies the delegate that access was granted to file system storage for
-    // |origin|.
-    virtual void OnFileSystemAccessAllowed(const url::Origin& origin) = 0;
-
-    // Notifies the delegate that access was granted to Indexed DB storage for
-    // |origin|.
-    virtual void OnIndexedDBAccessAllowed(const url::Origin& origin) = 0;
-
     // Notifies the delegate that access was granted to service workers for
     // |origin|.
     virtual void OnServiceWorkerAccessAllowed(const url::Origin& origin) = 0;
-
-    // Notifies the delegate that access was granted to web database storage for
-    // |origin|.
-    virtual void OnWebDatabaseAccessAllowed(const url::Origin& origin) = 0;
   };
 
   // Classes that want to be notified about site data events must implement
@@ -220,41 +207,12 @@
   static PageSpecificContentSettings::Delegate* GetDelegateForWebContents(
       content::WebContents* web_contents);
 
-  // Called when a specific Web database in the current page was accessed. If
-  // access was blocked due to the user's content settings,
-  // |blocked_by_policy| should be true, and this function should invoke
-  // OnContentBlocked.
-  static void WebDatabaseAccessed(int render_process_id,
-                                  int render_frame_id,
-                                  const GURL& url,
-                                  bool blocked_by_policy);
-
-  // Called when a specific indexed db factory in the current page was
-  // accessed. If access was blocked due to the user's content settings,
-  // |blocked_by_policy| should be true, and this function should invoke
-  // OnContentBlocked.
-  static void IndexedDBAccessed(int render_process_id,
-                                int render_frame_id,
-                                const GURL& url,
-                                bool blocked_by_policy);
-
-  // Called when CacheStorage::Open() is called in the current page.
-  // If access was blocked due to the user's content settings,
-  // |blocked_by_policy| should be true, and this function should invoke
-  // OnContentBlocked.
-  static void CacheStorageAccessed(int render_process_id,
-                                   int render_frame_id,
-                                   const GURL& url,
-                                   bool blocked_by_policy);
-
-  // Called when a specific file system in the current page was accessed.
-  // If access was blocked due to the user's content settings,
-  // |blocked_by_policy| should be true, and this function should invoke
-  // OnContentBlocked.
-  static void FileSystemAccessed(int render_process_id,
-                                 int render_frame_id,
-                                 const GURL& url,
-                                 bool blocked_by_policy);
+  static void StorageAccessed(
+      mojom::ContentSettingsManager::StorageType storage_type,
+      int render_process_id,
+      int render_frame_id,
+      const GURL& url,
+      bool blocked_by_policy);
 
   // Called when a specific Shared Worker was accessed.
   static void SharedWorkerAccessed(int render_process_id,
@@ -357,17 +315,10 @@
   void OnContentBlocked(ContentSettingsType type);
   void OnContentAllowed(ContentSettingsType type);
 
-  // These methods are invoked on the UI thread forwarded from the
-  // ContentSettingsManagerImpl.
-  void OnDomStorageAccessed(const GURL& url,
-                            bool local,
-                            bool blocked_by_policy);
-
-  // These methods are invoked on the UI thread by the static functions above.
-  // Only public for tests.
-  void OnFileSystemAccessed(const GURL& url, bool blocked_by_policy);
-  void OnIndexedDBAccessed(const GURL& url, bool blocked_by_policy);
-  void OnCacheStorageAccessed(const GURL& url, bool blocked_by_policy);
+  void OnStorageAccessed(
+      mojom::ContentSettingsManager::StorageType storage_type,
+      const GURL& url,
+      bool blocked_by_policy);
   void OnSharedWorkerAccessed(const GURL& worker_url,
                               const std::string& name,
                               const blink::StorageKey& storage_key,
@@ -378,7 +329,6 @@
                        bool blocked_by_policy,
                        privacy_sandbox::CanonicalTopic topic);
 
-  void OnWebDatabaseAccessed(const GURL& url, bool blocked_by_policy);
 #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN)
   void OnProtectedMediaIdentifierPermissionSet(const GURL& requesting_frame,
                                                bool allowed);
diff --git a/components/content_settings/browser/page_specific_content_settings_unittest.cc b/components/content_settings/browser/page_specific_content_settings_unittest.cc
index e5aedbb9..b1d13c6 100644
--- a/components/content_settings/browser/page_specific_content_settings_unittest.cc
+++ b/components/content_settings/browser/page_specific_content_settings_unittest.cc
@@ -29,6 +29,9 @@
 #include "third_party/blink/public/common/storage_key/storage_key.h"
 
 namespace content_settings {
+
+using StorageType = mojom::ContentSettingsManager::StorageType;
+
 namespace {
 
 class MockSiteDataObserver
@@ -59,9 +62,7 @@
   MOCK_METHOD(void,
               OnCookieAccessAllowed,
               (const net::CookieList& accessed_cookies));
-  MOCK_METHOD(void, OnDomStorageAccessAllowed, (const url::Origin& origin));
-  MOCK_METHOD(void, OnIndexedDBAccessAllowed, (const url::Origin& origin));
-  MOCK_METHOD(void, OnWebDatabaseAccessAllowed, (const url::Origin& origin));
+  MOCK_METHOD(void, OnStorageAccessAllowed, (StorageType, const url::Origin&));
 };
 
 }  // namespace
@@ -242,12 +243,14 @@
       PageSpecificContentSettings::GetForFrame(web_contents()->GetMainFrame());
 
   // Access a file system.
-  content_settings->OnFileSystemAccessed(GURL("http://google.com"), false);
+  content_settings->OnStorageAccessed(StorageType::FILE_SYSTEM,
+                                      GURL("http://google.com"), false);
   EXPECT_FALSE(
       content_settings->IsContentBlocked(ContentSettingsType::COOKIES));
 
   // Block access to a file system.
-  content_settings->OnFileSystemAccessed(GURL("http://google.com"), true);
+  content_settings->OnStorageAccessed(StorageType::FILE_SYSTEM,
+                                      GURL("http://google.com"), true);
   EXPECT_TRUE(content_settings->IsContentBlocked(ContentSettingsType::COOKIES));
 }
 
@@ -350,14 +353,14 @@
       web_contents()->GetMainFrame(),
       {content::CookieAccessDetails::Type::kRead, GURL("http://google.com"),
        GURL("http://google.com"), cookie_list, blocked_by_policy});
-  content_settings->OnFileSystemAccessed(GURL("http://google.com"),
-                                         blocked_by_policy);
-  content_settings->OnIndexedDBAccessed(GURL("http://google.com"),
-                                        blocked_by_policy);
-  content_settings->OnDomStorageAccessed(GURL("http://google.com"), true,
-                                         blocked_by_policy);
-  content_settings->OnWebDatabaseAccessed(GURL("http://google.com"),
-                                          blocked_by_policy);
+  content_settings->OnStorageAccessed(
+      StorageType::FILE_SYSTEM, GURL("http://google.com"), blocked_by_policy);
+  content_settings->OnStorageAccessed(
+      StorageType::INDEXED_DB, GURL("http://google.com"), blocked_by_policy);
+  content_settings->OnStorageAccessed(
+      StorageType::LOCAL_STORAGE, GURL("http://google.com"), blocked_by_policy);
+  content_settings->OnStorageAccessed(
+      StorageType::DATABASE, GURL("http://google.com"), blocked_by_policy);
 }
 
 TEST_F(PageSpecificContentSettingsTest, LocalSharedObjectsContainer) {
@@ -375,16 +378,19 @@
                                   GURL("http://google.com"),
                                   {*cookie},
                                   blocked_by_policy});
-  content_settings->OnFileSystemAccessed(GURL("https://www.google.com"),
-                                         blocked_by_policy);
-  content_settings->OnIndexedDBAccessed(GURL("https://localhost"),
-                                        blocked_by_policy);
-  content_settings->OnDomStorageAccessed(GURL("http://maps.google.com:8080"),
-                                         true, blocked_by_policy);
-  content_settings->OnDomStorageAccessed(GURL("http://example.com"), true,
-                                         blocked_by_policy);
-  content_settings->OnWebDatabaseAccessed(GURL("http://192.168.0.1"),
-                                          blocked_by_policy);
+  content_settings->OnStorageAccessed(StorageType::FILE_SYSTEM,
+                                      GURL("https://www.google.com"),
+                                      blocked_by_policy);
+  content_settings->OnStorageAccessed(
+      StorageType::INDEXED_DB, GURL("https://localhost"), blocked_by_policy);
+  content_settings->OnStorageAccessed(StorageType::LOCAL_STORAGE,
+                                      GURL("http://maps.google.com:8080"),
+                                      blocked_by_policy);
+  content_settings->OnStorageAccessed(StorageType::LOCAL_STORAGE,
+                                      GURL("http://example.com"),
+                                      blocked_by_policy);
+  content_settings->OnStorageAccessed(
+      StorageType::DATABASE, GURL("http://192.168.0.1"), blocked_by_policy);
   content_settings->OnSharedWorkerAccessed(
       GURL("http://youtube.com/worker.js"), "worker",
       blink::StorageKey::CreateFromStringForTesting("https://youtube.com"),
@@ -581,9 +587,7 @@
   ASSERT_NE(pscs, nullptr);
 
   EXPECT_CALL(*mock_delegate, OnCookieAccessAllowed).Times(0);
-  EXPECT_CALL(*mock_delegate, OnIndexedDBAccessAllowed).Times(0);
-  EXPECT_CALL(*mock_delegate, OnDomStorageAccessAllowed).Times(0);
-  EXPECT_CALL(*mock_delegate, OnWebDatabaseAccessAllowed).Times(0);
+  EXPECT_CALL(*mock_delegate, OnStorageAccessAllowed).Times(0);
 
   const bool blocked_by_policy = false;
   const GURL url = GURL("http://google.com");
@@ -596,14 +600,20 @@
                            url,
                            {*cookie},
                            blocked_by_policy});
-  pscs->OnIndexedDBAccessed(url, blocked_by_policy);
-  pscs->OnDomStorageAccessed(url, true, blocked_by_policy);
-  pscs->OnWebDatabaseAccessed(url, blocked_by_policy);
+  pscs->OnStorageAccessed(StorageType::INDEXED_DB, url, blocked_by_policy);
+  pscs->OnStorageAccessed(StorageType::LOCAL_STORAGE, url, blocked_by_policy);
+  pscs->OnStorageAccessed(StorageType::DATABASE, url, blocked_by_policy);
 
   EXPECT_CALL(*mock_delegate, OnCookieAccessAllowed).Times(1);
-  EXPECT_CALL(*mock_delegate, OnIndexedDBAccessAllowed(origin)).Times(1);
-  EXPECT_CALL(*mock_delegate, OnDomStorageAccessAllowed(origin)).Times(1);
-  EXPECT_CALL(*mock_delegate, OnWebDatabaseAccessAllowed(origin)).Times(1);
+  EXPECT_CALL(*mock_delegate,
+              OnStorageAccessAllowed(StorageType::INDEXED_DB, origin))
+      .Times(1);
+  EXPECT_CALL(*mock_delegate,
+              OnStorageAccessAllowed(StorageType::LOCAL_STORAGE, origin))
+      .Times(1);
+  EXPECT_CALL(*mock_delegate,
+              OnStorageAccessAllowed(StorageType::DATABASE, origin))
+      .Times(1);
   std::unique_ptr<content::NavigationSimulator> navigation =
       content::NavigationSimulator::CreateRendererInitiated(
           prerender_url, web_contents()->GetMainFrame());
@@ -747,9 +757,15 @@
   ASSERT_NE(ff_pscs, nullptr);
 
   EXPECT_CALL(*mock_delegate, OnCookieAccessAllowed).Times(1);
-  EXPECT_CALL(*mock_delegate, OnIndexedDBAccessAllowed(ff_origin)).Times(1);
-  EXPECT_CALL(*mock_delegate, OnDomStorageAccessAllowed(ff_origin)).Times(1);
-  EXPECT_CALL(*mock_delegate, OnWebDatabaseAccessAllowed(ff_origin)).Times(1);
+  EXPECT_CALL(*mock_delegate,
+              OnStorageAccessAllowed(StorageType::INDEXED_DB, ff_origin))
+      .Times(1);
+  EXPECT_CALL(*mock_delegate,
+              OnStorageAccessAllowed(StorageType::LOCAL_STORAGE, ff_origin))
+      .Times(1);
+  EXPECT_CALL(*mock_delegate,
+              OnStorageAccessAllowed(StorageType::DATABASE, ff_origin))
+      .Times(1);
 
   const bool blocked_by_policy = false;
   auto cookie = net::CanonicalCookie::Create(
@@ -760,9 +776,11 @@
                               ff_url,
                               {*cookie},
                               blocked_by_policy});
-  ff_pscs->OnIndexedDBAccessed(ff_url, blocked_by_policy);
-  ff_pscs->OnDomStorageAccessed(ff_url, true, blocked_by_policy);
-  ff_pscs->OnWebDatabaseAccessed(ff_url, blocked_by_policy);
+  ff_pscs->OnStorageAccessed(StorageType::INDEXED_DB, ff_url,
+                             blocked_by_policy);
+  ff_pscs->OnStorageAccessed(StorageType::LOCAL_STORAGE, ff_url,
+                             blocked_by_policy);
+  ff_pscs->OnStorageAccessed(StorageType::DATABASE, ff_url, blocked_by_policy);
 }
 
 TEST_F(PageSpecificContentSettingsWithFencedFrameTest,
diff --git a/components/content_settings/browser/test_page_specific_content_settings_delegate.cc b/components/content_settings/browser/test_page_specific_content_settings_delegate.cc
index 579799b..f64a0e3 100644
--- a/components/content_settings/browser/test_page_specific_content_settings_delegate.cc
+++ b/components/content_settings/browser/test_page_specific_content_settings_delegate.cc
@@ -65,25 +65,14 @@
 void TestPageSpecificContentSettingsDelegate::OnContentBlocked(
     ContentSettingsType type) {}
 
-void TestPageSpecificContentSettingsDelegate::OnCacheStorageAccessAllowed(
+void TestPageSpecificContentSettingsDelegate::OnStorageAccessAllowed(
+    content_settings::mojom::ContentSettingsManager::StorageType storage_type,
     const url::Origin& origin) {}
 
 void TestPageSpecificContentSettingsDelegate::OnCookieAccessAllowed(
     const net::CookieList& accessed_cookies) {}
 
-void TestPageSpecificContentSettingsDelegate::OnDomStorageAccessAllowed(
-    const url::Origin& origin) {}
-
-void TestPageSpecificContentSettingsDelegate::OnFileSystemAccessAllowed(
-    const url::Origin& origin) {}
-
-void TestPageSpecificContentSettingsDelegate::OnIndexedDBAccessAllowed(
-    const url::Origin& origin) {}
-
 void TestPageSpecificContentSettingsDelegate::OnServiceWorkerAccessAllowed(
     const url::Origin& origin) {}
 
-void TestPageSpecificContentSettingsDelegate::OnWebDatabaseAccessAllowed(
-    const url::Origin& origin) {}
-
 }  // namespace content_settings
diff --git a/components/content_settings/browser/test_page_specific_content_settings_delegate.h b/components/content_settings/browser/test_page_specific_content_settings_delegate.h
index bcb67e4..0162c698 100644
--- a/components/content_settings/browser/test_page_specific_content_settings_delegate.h
+++ b/components/content_settings/browser/test_page_specific_content_settings_delegate.h
@@ -39,13 +39,11 @@
       override;
   void OnContentAllowed(ContentSettingsType type) override;
   void OnContentBlocked(ContentSettingsType type) override;
-  void OnCacheStorageAccessAllowed(const url::Origin& origin) override;
+  void OnStorageAccessAllowed(
+      content_settings::mojom::ContentSettingsManager::StorageType storage_type,
+      const url::Origin& origin) override;
   void OnCookieAccessAllowed(const net::CookieList& accessed_cookies) override;
-  void OnDomStorageAccessAllowed(const url::Origin& origin) override;
-  void OnFileSystemAccessAllowed(const url::Origin& origin) override;
-  void OnIndexedDBAccessAllowed(const url::Origin& origin) override;
   void OnServiceWorkerAccessAllowed(const url::Origin& origin) override;
-  void OnWebDatabaseAccessAllowed(const url::Origin& origin) override;
 
  private:
   raw_ptr<PrefService> prefs_;
diff --git a/components/embedder_support/content_settings_utils.cc b/components/embedder_support/content_settings_utils.cc
index 64f5df1c..999bf66 100644
--- a/components/embedder_support/content_settings_utils.cc
+++ b/components/embedder_support/content_settings_utils.cc
@@ -14,6 +14,27 @@
 
 namespace embedder_support {
 
+using StorageType =
+    content_settings::mojom::ContentSettingsManager::StorageType;
+
+namespace {
+bool AllowWorkerStorageAccess(
+    StorageType storage_type,
+    const GURL& url,
+    const std::vector<content::GlobalRenderFrameHostId>& render_frames,
+    const content_settings::CookieSettings* cookie_settings) {
+  bool allow = cookie_settings->IsFullCookieAccessAllowed(
+      url, net::SiteForCookies::FromUrl(url), url::Origin::Create(url));
+
+  for (const auto& it : render_frames) {
+    content_settings::PageSpecificContentSettings::StorageAccessed(
+        storage_type, it.child_id, it.frame_routing_id, url, !allow);
+  }
+
+  return allow;
+}
+}  // namespace
+
 content::AllowServiceWorkerResult AllowServiceWorker(
     const GURL& scope,
     const net::SiteForCookies& site_for_cookies,
@@ -58,48 +79,31 @@
     const GURL& url,
     const std::vector<content::GlobalRenderFrameHostId>& render_frames,
     const content_settings::CookieSettings* cookie_settings) {
-  bool allow = cookie_settings->IsFullCookieAccessAllowed(
-      url, net::SiteForCookies::FromUrl(url), url::Origin::Create(url));
-  for (const auto& it : render_frames) {
-    content_settings::PageSpecificContentSettings::FileSystemAccessed(
-        it.child_id, it.frame_routing_id, url, !allow);
-  }
-  return allow;
+  return AllowWorkerStorageAccess(StorageType::FILE_SYSTEM, url, render_frames,
+                                  cookie_settings);
 }
 
 bool AllowWorkerIndexedDB(
     const GURL& url,
     const std::vector<content::GlobalRenderFrameHostId>& render_frames,
     const content_settings::CookieSettings* cookie_settings) {
-  bool allow = cookie_settings->IsFullCookieAccessAllowed(
-      url, net::SiteForCookies::FromUrl(url), url::Origin::Create(url));
-
-  for (const auto& it : render_frames) {
-    content_settings::PageSpecificContentSettings::IndexedDBAccessed(
-        it.child_id, it.frame_routing_id, url, !allow);
-  }
-  return allow;
+  return AllowWorkerStorageAccess(StorageType::INDEXED_DB, url, render_frames,
+                                  cookie_settings);
 }
 
 bool AllowWorkerCacheStorage(
     const GURL& url,
     const std::vector<content::GlobalRenderFrameHostId>& render_frames,
     const content_settings::CookieSettings* cookie_settings) {
-  bool allow = cookie_settings->IsFullCookieAccessAllowed(
-      url, net::SiteForCookies::FromUrl(url), url::Origin::Create(url));
-
-  for (const auto& it : render_frames) {
-    content_settings::PageSpecificContentSettings::CacheStorageAccessed(
-        it.child_id, it.frame_routing_id, url, !allow);
-  }
-  return allow;
+  return AllowWorkerStorageAccess(StorageType::CACHE, url, render_frames,
+                                  cookie_settings);
 }
 
 bool AllowWorkerWebLocks(
     const GURL& url,
     const content_settings::CookieSettings* cookie_settings) {
-  return cookie_settings->IsFullCookieAccessAllowed(
-      url, net::SiteForCookies::FromUrl(url), url::Origin::Create(url));
+  return AllowWorkerStorageAccess(StorageType::WEB_LOCKS, url, {},
+                                  cookie_settings);
 }
 
 }  // namespace embedder_support
diff --git a/components/exo/pointer.cc b/components/exo/pointer.cc
index 83099a8..7e56fcc 100644
--- a/components/exo/pointer.cc
+++ b/components/exo/pointer.cc
@@ -733,6 +733,17 @@
       return;
   }
 
+  // DragDropController::PerformDrop() can result in the DropTargetEvent::target
+  // being destroyed. Verify whether this is the case, and adapt the event.
+  //
+  // TODO(https://crbug.com/1160925): Avoid nested RunLoop in exo
+  // DataDevice::OnPerformDrop() - remove the block below when it is fixed.
+  auto* event_target = static_cast<aura::Window*>(event.target());
+  if (!event_target) {
+    LOG(WARNING) << "EventTarget has been destroyed during the drop operation.";
+    return;
+  }
+
   auto* target_window = ash::window_util::GetEventHandlerForEvent(event);
   auto* surface = Surface::AsSurface(target_window);
   if (surface)
diff --git a/components/exo/pointer_unittest.cc b/components/exo/pointer_unittest.cc
index cd8d8c49..e719a9b5 100644
--- a/components/exo/pointer_unittest.cc
+++ b/components/exo/pointer_unittest.cc
@@ -48,6 +48,7 @@
 #include "ash/constants/ash_features.h"
 #include "ash/drag_drop/drag_drop_controller.h"
 #include "base/test/bind.h"
+#include "components/exo/wm_helper.h"
 #include "ui/aura/client/drag_drop_client.h"
 #include "ui/aura/window_tree_host.h"
 #include "ui/events/test/events_test_utils.h"
@@ -1174,6 +1175,95 @@
   EXPECT_CALL(pointer_delegate, OnPointerDestroying(pointer.get()));
   pointer.reset();
 }
+
+namespace {
+
+class PointerDragDropObserver : public WMHelper::DragDropObserver {
+ public:
+  PointerDragDropObserver(std::unique_ptr<Surface> surface)
+      : surface_(std::move(surface)) {}
+
+ private:
+  // WMHelper::DragDropObserver overrides:
+  void OnDragEntered(const ui::DropTargetEvent& event) override {}
+  aura::client::DragUpdateInfo OnDragUpdated(
+      const ui::DropTargetEvent& event) override {
+    return aura::client::DragUpdateInfo();
+  }
+  void OnDragExited() override {}
+  ui::mojom::DragOperation OnPerformDrop() override {
+    return ui::mojom::DragOperation::kNone;
+  }
+  DropCallback GetDropCallback(const ui::DropTargetEvent& event) override {
+    return base::BindOnce([](std::unique_ptr<Surface> surface,
+                             ui::mojom::DragOperation& output_drag_op) {},
+                          std::move(surface_));
+  }
+
+  std::unique_ptr<Surface> surface_;
+};
+
+}  // namespace
+
+// Test for crbug.com/1307143: It ensures no "pointer enter" event is
+// processed in case the target surface is destroyed during the drop action.
+TEST_F(PointerTest,
+       DragDropAndPointerEnterLeaveEvents_NoEnterOnSurfaceDestroy) {
+  Seat seat(std::make_unique<TestDataExchangeDelegate>());
+  MockPointerDelegate pointer_delegate;
+  std::unique_ptr<Pointer> pointer(new Pointer(&pointer_delegate, &seat));
+  TestDataSourceDelegate data_source_delegate;
+  DataSource source(&data_source_delegate);
+  std::unique_ptr<Surface> origin(new Surface());
+  auto* origin_ptr = origin.get();
+
+  // Make origin into a real window so the pointer can click it
+  ShellSurface shell_surface(origin_ptr);
+  Buffer buffer(exo_test_helper()->CreateGpuMemoryBuffer(gfx::Size(10, 10)));
+  origin_ptr->Attach(&buffer);
+  origin_ptr->Commit();
+
+  PointerDragDropObserver drag_drop_observer(std::move(origin));
+  auto* wm_helper = WMHelper::GetInstance();
+  wm_helper->AddDragDropObserver(&drag_drop_observer);
+
+  ui::test::EventGenerator generator(ash::Shell::GetPrimaryRootWindow());
+
+  EXPECT_CALL(pointer_delegate, CanAcceptPointerEventsForSurface(origin_ptr))
+      .WillRepeatedly(testing::Return(true));
+  EXPECT_CALL(pointer_delegate, OnPointerFrame()).Times(AnyNumber());
+  EXPECT_CALL(pointer_delegate, OnPointerEnter(origin_ptr, gfx::PointF(), 0));
+  generator.MoveMouseTo(origin_ptr->window()->GetBoundsInScreen().origin());
+
+  auto* drag_drop_controller = static_cast<ash::DragDropController*>(
+      aura::client::GetDragDropClient(ash::Shell::GetPrimaryRootWindow()));
+  ASSERT_TRUE(drag_drop_controller);
+
+  generator.PressLeftButton();
+  seat.StartDrag(&source, origin_ptr, /*icon=*/nullptr,
+                 ui::mojom::DragEventSource::kMouse);
+  EXPECT_TRUE(seat.get_drag_drop_operation_for_testing());
+
+  // As soon as the runloop gets triggered, emit a mouse release event.
+  drag_drop_controller->SetLoopClosureForTesting(
+      base::BindLambdaForTesting([&]() {
+        EXPECT_CALL(pointer_delegate, OnPointerEnter(_, _, _));
+        generator.ReleaseLeftButton();
+      }),
+      base::DoNothing());
+
+  // OnPointerLeave() gets called twice:
+  // 1/ when the drag starts;
+  // 2/ when the dragging window gets destroyed.
+  EXPECT_CALL(pointer_delegate, OnPointerLeave(_)).Times(2);
+  base::RunLoop().RunUntilIdle();
+
+  wm_helper->RemoveDragDropObserver(&drag_drop_observer);
+
+  EXPECT_CALL(pointer_delegate, OnPointerDestroying(pointer.get()));
+  pointer.reset();
+}
+
 #endif
 
 TEST_F(PointerTest, OnPointerRelativeMotion) {
diff --git a/components/paint_preview/renderer/paint_preview_recorder_browsertest.cc b/components/paint_preview/renderer/paint_preview_recorder_browsertest.cc
index 5e26ad0..8b677a3 100644
--- a/components/paint_preview/renderer/paint_preview_recorder_browsertest.cc
+++ b/components/paint_preview/renderer/paint_preview_recorder_browsertest.cc
@@ -21,6 +21,7 @@
 #include "third_party/blink/public/platform/web_runtime_features.h"
 #include "third_party/blink/public/web/web_local_frame.h"
 #include "third_party/blink/public/web/web_testing_support.h"
+#include "third_party/skia/include/core/SkBitmap.h"
 #include "third_party/skia/include/core/SkCanvas.h"
 #include "third_party/skia/include/core/SkPicture.h"
 #include "ui/native_theme/native_theme_features.h"
diff --git a/components/password_manager/core/browser/fake_form_fetcher.cc b/components/password_manager/core/browser/fake_form_fetcher.cc
index a335647..7c43006 100644
--- a/components/password_manager/core/browser/fake_form_fetcher.cc
+++ b/components/password_manager/core/browser/fake_form_fetcher.cc
@@ -38,9 +38,9 @@
   return stats_;
 }
 
-base::span<const InsecureCredential> FakeFormFetcher::GetInsecureCredentials()
-    const {
-  return base::make_span(insecure_credentials_);
+const std::vector<const PasswordForm*>&
+FakeFormFetcher::GetInsecureCredentials() const {
+  return insecure_credentials_;
 }
 
 std::vector<const PasswordForm*> FakeFormFetcher::GetNonFederatedMatches()
diff --git a/components/password_manager/core/browser/fake_form_fetcher.h b/components/password_manager/core/browser/fake_form_fetcher.h
index c0305fa7..40e5444 100644
--- a/components/password_manager/core/browser/fake_form_fetcher.h
+++ b/components/password_manager/core/browser/fake_form_fetcher.h
@@ -42,7 +42,8 @@
   State GetState() const override;
 
   const std::vector<InteractionsStats>& GetInteractionsStats() const override;
-  base::span<const InsecureCredential> GetInsecureCredentials() const override;
+  const std::vector<const PasswordForm*>& GetInsecureCredentials()
+      const override;
   std::vector<const PasswordForm*> GetNonFederatedMatches() const override;
   std::vector<const PasswordForm*> GetFederatedMatches() const override;
   bool IsBlocklisted() const override;
@@ -68,7 +69,7 @@
   }
 
   void set_insecure_credentials(
-      const std::vector<InsecureCredential>& credentials) {
+      const std::vector<const PasswordForm*>& credentials) {
     insecure_credentials_ = credentials;
   }
 
@@ -87,7 +88,7 @@
   std::vector<const PasswordForm*> federated_;
   std::vector<const PasswordForm*> non_federated_same_scheme_;
   std::vector<const PasswordForm*> best_matches_;
-  std::vector<InsecureCredential> insecure_credentials_;
+  std::vector<const PasswordForm*> insecure_credentials_;
   const PasswordForm* preferred_match_ = nullptr;
   bool is_blocklisted_ = false;
 };
diff --git a/components/password_manager/core/browser/form_fetcher.h b/components/password_manager/core/browser/form_fetcher.h
index 8ad81d8..a7101192 100644
--- a/components/password_manager/core/browser/form_fetcher.h
+++ b/components/password_manager/core/browser/form_fetcher.h
@@ -9,10 +9,9 @@
 #include <string>
 #include <vector>
 
-#include "base/containers/span.h"
 #include "base/observer_list_types.h"
 #include "components/autofill/core/common/gaia_id_hash.h"
-#include "components/password_manager/core/browser/insecure_credentials_table.h"
+#include "components/password_manager/core/browser/password_form.h"
 
 namespace password_manager {
 
@@ -67,8 +66,8 @@
   virtual const std::vector<InteractionsStats>& GetInteractionsStats()
       const = 0;
 
-  // Insecure credentials records for the current site.
-  virtual base::span<const InsecureCredential> GetInsecureCredentials()
+  // Returns all PasswordForm entries that have insecure features.
+  virtual const std::vector<const PasswordForm*>& GetInsecureCredentials()
       const = 0;
 
   // Non-federated matches obtained from the backend. Valid only if GetState()
diff --git a/components/password_manager/core/browser/form_fetcher_impl.cc b/components/password_manager/core/browser/form_fetcher_impl.cc
index 72c1d69..2a5e507 100644
--- a/components/password_manager/core/browser/form_fetcher_impl.cc
+++ b/components/password_manager/core/browser/form_fetcher_impl.cc
@@ -148,8 +148,8 @@
   return interactions_stats_;
 }
 
-base::span<const InsecureCredential> FormFetcherImpl::GetInsecureCredentials()
-    const {
+const std::vector<const PasswordForm*>&
+FormFetcherImpl::GetInsecureCredentials() const {
   return insecure_credentials_;
 }
 
@@ -240,22 +240,13 @@
 void FormFetcherImpl::FindMatchesAndNotifyConsumers(
     std::vector<std::unique_ptr<PasswordForm>> results) {
   DCHECK_EQ(State::WAITING, state_);
-  insecure_credentials_.clear();
-  for (const auto& form : results) {
-    for (const auto& issue : form->password_issues) {
-      insecure_credentials_.emplace_back(
-          form->signon_realm, form->username_value, issue.second.create_time,
-          issue.first, issue.second.is_muted);
-      insecure_credentials_.back().in_store = form->in_store;
-    }
-  }
-  state_ = State::NOT_WAITING;
   SplitResults(std::move(results));
 
   password_manager_util::FindBestMatches(
       MakeWeakCopies(non_federated_), form_digest_.scheme,
       &non_federated_same_scheme_, &best_matches_, &preferred_match_);
 
+  state_ = State::NOT_WAITING;
   for (auto& consumer : consumers_)
     consumer.OnFetchCompleted();
 }
@@ -266,6 +257,7 @@
   is_blocklisted_in_account_store_ = false;
   non_federated_.clear();
   federated_.clear();
+  insecure_credentials_.clear();
   for (auto& form : forms) {
     if (form->blocked_by_user) {
       // Ignore non-exact matches for blocklisted entries.
@@ -277,10 +269,14 @@
         else
           is_blocklisted_in_profile_store_ = true;
       }
-    } else if (form->IsFederatedCredential()) {
-      federated_.push_back(std::move(form));
     } else {
-      non_federated_.push_back(std::move(form));
+      if (!form->password_issues.empty())
+        insecure_credentials_.push_back(form.get());
+      if (form->IsFederatedCredential()) {
+        federated_.push_back(std::move(form));
+      } else {
+        non_federated_.push_back(std::move(form));
+      }
     }
   }
 }
diff --git a/components/password_manager/core/browser/form_fetcher_impl.h b/components/password_manager/core/browser/form_fetcher_impl.h
index b096ddc..7784712 100644
--- a/components/password_manager/core/browser/form_fetcher_impl.h
+++ b/components/password_manager/core/browser/form_fetcher_impl.h
@@ -14,7 +14,6 @@
 #include "base/observer_list.h"
 #include "components/password_manager/core/browser/form_fetcher.h"
 #include "components/password_manager/core/browser/http_password_store_migrator.h"
-#include "components/password_manager/core/browser/insecure_credentials_table.h"
 #include "components/password_manager/core/browser/password_store_consumer.h"
 #include "components/password_manager/core/browser/password_store_interface.h"
 
@@ -47,7 +46,8 @@
   void Fetch() override;
   State GetState() const override;
   const std::vector<InteractionsStats>& GetInteractionsStats() const override;
-  base::span<const InsecureCredential> GetInsecureCredentials() const override;
+  const std::vector<const PasswordForm*>& GetInsecureCredentials()
+      const override;
   std::vector<const PasswordForm*> GetNonFederatedMatches() const override;
   std::vector<const PasswordForm*> GetFederatedMatches() const override;
   bool IsBlocklisted() const override;
@@ -91,7 +91,7 @@
   std::vector<std::unique_ptr<PasswordForm>> federated_;
 
   // List of insecure credentials for the current domain.
-  std::vector<InsecureCredential> insecure_credentials_;
+  std::vector<const PasswordForm*> insecure_credentials_;
 
   // Indicates whether HTTP passwords should be migrated to HTTPS. This is
   // always false for non HTML forms.
diff --git a/components/password_manager/core/browser/form_fetcher_impl_unittest.cc b/components/password_manager/core/browser/form_fetcher_impl_unittest.cc
index 0a4167f7..23583d3 100644
--- a/components/password_manager/core/browser/form_fetcher_impl_unittest.cc
+++ b/components/password_manager/core/browser/form_fetcher_impl_unittest.cc
@@ -166,6 +166,18 @@
   return form;
 }
 
+PasswordForm CreateInsecureCredential(
+    const PasswordForm& form,
+    PasswordForm::Store store = PasswordForm::Store::kNotSet) {
+  PasswordForm compromised = form;
+  compromised.password_issues.clear();
+  compromised.password_issues.insert(
+      {InsecureType::kLeaked,
+       InsecurityMetadata(base::Time(), IsMuted(false))});
+  compromised.in_store = store;
+  return compromised;
+}
+
 // Creates a dummy non-federated form with some basic arbitrary values.
 PasswordForm CreateNonFederated(const std::string& username_value = "user",
                                 base::Time date_last_used = base::Time::Now()) {
@@ -513,13 +525,10 @@
   form.password_issues.insert({InsecureType::kLeaked, InsecurityMetadata()});
   std::vector<std::unique_ptr<PasswordForm>> results;
   results.push_back(std::make_unique<PasswordForm>(form));
-  const std::vector<InsecureCredential> credentials = {
-      InsecureCredential(form.signon_realm, form.username_value, base::Time(),
-                         InsecureType::kLeaked, IsMuted(false))};
   DeliverPasswordStoreResults(/*profile_store_results=*/std::move(results),
                               /*account_store_results=*/{});
   EXPECT_THAT(form_fetcher_->GetInsecureCredentials(),
-              UnorderedElementsAreArray(credentials));
+              UnorderedElementsAre(Pointee(CreateInsecureCredential(form))));
 }
 
 // Test that multiple calls of Fetch() are handled gracefully, and that they
@@ -946,15 +955,12 @@
   form.password_issues.insert({InsecureType::kLeaked, InsecurityMetadata()});
   std::vector<std::unique_ptr<PasswordForm>> results;
   results.push_back(std::make_unique<PasswordForm>(form));
-  const std::vector<InsecureCredential> credentials = {
-      InsecureCredential(form.signon_realm, form.username_value, base::Time(),
-                         InsecureType::kLeaked, IsMuted(false))};
   DeliverPasswordStoreResults(/*profile_store_results=*/std::move(results),
                               /*account_store_results=*/{});
 
   auto clone = form_fetcher_->Clone();
   EXPECT_THAT(clone->GetInsecureCredentials(),
-              UnorderedElementsAreArray(credentials));
+              UnorderedElementsAre(Pointee(form)));
 }
 
 // Check that removing consumers stops them from receiving store updates.
@@ -1021,10 +1027,7 @@
   blocked.in_store = PasswordForm::Store::kAccountStore;
   std::vector<std::unique_ptr<PasswordForm>> results;
   results.push_back(std::make_unique<PasswordForm>(blocked));
-  store_consumer()->OnGetPasswordStoreResultsFrom(account_mock_store_.get(),
-                                                  std::move(results));
-  store_consumer()->OnGetPasswordStoreResultsFrom(profile_mock_store_.get(),
-                                                  {});
+  DeliverPasswordStoreResults({}, std::move(results));
 
   EXPECT_EQ(form_fetcher_->GetState(), FormFetcher::State::NOT_WAITING);
   EXPECT_TRUE(form_fetcher_->IsBlocklisted());
@@ -1056,10 +1059,7 @@
   blocked.in_store = PasswordForm::Store::kAccountStore;
   std::vector<std::unique_ptr<PasswordForm>> results;
   results.push_back(std::make_unique<PasswordForm>(blocked));
-  store_consumer()->OnGetPasswordStoreResultsFrom(account_mock_store_.get(),
-                                                  std::move(results));
-  store_consumer()->OnGetPasswordStoreResultsFrom(profile_mock_store_.get(),
-                                                  {});
+  DeliverPasswordStoreResults({}, std::move(results));
 
   EXPECT_EQ(form_fetcher_->GetState(), FormFetcher::State::NOT_WAITING);
   EXPECT_TRUE(form_fetcher_->IsBlocklisted());
@@ -1122,14 +1122,10 @@
   PasswordForm blocked = CreateBlocked();
   blocked.in_store = PasswordForm::Store::kAccountStore;
 
-  // Pass response from the first store.
+  // Deliver response from profile store and empty response from account.
   std::vector<std::unique_ptr<PasswordForm>> results;
   results.push_back(std::make_unique<PasswordForm>(blocked));
-  store_consumer()->OnGetPasswordStoreResultsFrom(account_mock_store_.get(),
-                                                  std::move(results));
-  // Pass empty response from the second store.
-  store_consumer()->OnGetPasswordStoreResultsFrom(profile_mock_store_.get(),
-                                                  {});
+  DeliverPasswordStoreResults(std::move(results), {});
 
   // Simulate a user in the account mode.
   ON_CALL(*client()->GetPasswordFeatureManager(), IsOptedInForAccountStorage())
@@ -1163,14 +1159,10 @@
   PasswordForm blocked = CreateBlocked();
   blocked.in_store = PasswordForm::Store::kProfileStore;
 
-  // Pass response from the first store.
+  // Deliver response from profile store and empty response from account.
   std::vector<std::unique_ptr<PasswordForm>> results;
   results.push_back(std::make_unique<PasswordForm>(blocked));
-  store_consumer()->OnGetPasswordStoreResultsFrom(profile_mock_store_.get(),
-                                                  std::move(results));
-  // Pass empty response from the second store.
-  store_consumer()->OnGetPasswordStoreResultsFrom(account_mock_store_.get(),
-                                                  {});
+  DeliverPasswordStoreResults(std::move(results), {});
 
   // Simulate a user in the account mode.
   ON_CALL(*client()->GetPasswordFeatureManager(), IsOptedInForAccountStorage())
@@ -1226,11 +1218,9 @@
   results.push_back(std::make_unique<PasswordForm>(blocked_form));
   results.push_back(std::make_unique<PasswordForm>(unblocked_form));
   results.push_back(std::make_unique<PasswordForm>(psl_form));
-  store_consumer()->OnGetPasswordStoreResultsFrom(profile_mock_store_.get(),
-                                                  std::move(results));
-  // Pass empty response from the account store.
-  store_consumer()->OnGetPasswordStoreResultsFrom(account_mock_store_.get(),
-                                                  {});
+
+  // Deliver response from profile store and empty response from account.
+  DeliverPasswordStoreResults(std::move(results), {});
 
   // Moving should be blocked for |kUser| and |form1|.
   EXPECT_TRUE(
@@ -1248,42 +1238,33 @@
 
 TEST_F(MultiStoreFormFetcherTest, InsecureCredentials) {
   Fetch();
-  PasswordForm profile_form =
+  PasswordForm profile_form_insecure_credential =
       CreateHTMLForm("www.url.com", "username1", "pass");
-  profile_form.password_issues.insert(
+  profile_form_insecure_credential.password_issues.insert(
       {InsecureType::kLeaked, InsecurityMetadata()});
+  profile_form_insecure_credential.in_store =
+      PasswordForm::Store::kProfileStore;
   std::vector<std::unique_ptr<PasswordForm>> profile_results;
-  profile_results.push_back(std::make_unique<PasswordForm>(profile_form));
+  profile_results.push_back(
+      std::make_unique<PasswordForm>(profile_form_insecure_credential));
 
-  PasswordForm account_form =
+  PasswordForm account_form_insecure_credential =
       CreateHTMLForm("www.url.com", "username1", "pass");
-  account_form.password_issues.insert(
+  account_form_insecure_credential.password_issues.insert(
       {InsecureType::kLeaked, InsecurityMetadata()});
   std::vector<std::unique_ptr<PasswordForm>> account_results;
-  account_results.push_back(std::make_unique<PasswordForm>(account_form));
-
-  InsecureCredential profile_store_insecure_credentials(
-      profile_form.signon_realm, profile_form.username_value, base::Time(),
-      InsecureType::kLeaked, IsMuted(false));
-  profile_store_insecure_credentials.in_store =
-      PasswordForm::Store::kProfileStore;
-
-  InsecureCredential account_store_insecure_credentials(
-      account_form.signon_realm, account_form.username_value, base::Time(),
-      InsecureType::kLeaked, IsMuted(false));
-  account_store_insecure_credentials.in_store =
+  account_form_insecure_credential.in_store =
       PasswordForm::Store::kAccountStore;
+  account_results.push_back(
+      std::make_unique<PasswordForm>(account_form_insecure_credential));
 
-  store_consumer()->OnGetPasswordStoreResultsFrom(profile_mock_store_.get(),
-                                                  std::move(profile_results));
-
-  store_consumer()->OnGetPasswordStoreResultsFrom(account_mock_store_.get(),
-                                                  std::move(account_results));
+  DeliverPasswordStoreResults(std::move(profile_results),
+                              std::move(account_results));
 
   EXPECT_THAT(
       form_fetcher_->GetInsecureCredentials(),
-      testing::UnorderedElementsAreArray({profile_store_insecure_credentials,
-                                          account_store_insecure_credentials}));
+      testing::UnorderedElementsAre(Pointee(profile_form_insecure_credential),
+                                    Pointee(account_form_insecure_credential)));
 }
 
 }  // namespace password_manager
diff --git a/components/password_manager/core/browser/leak_detection_delegate.cc b/components/password_manager/core/browser/leak_detection_delegate.cc
index 1fab881c..2cad946 100644
--- a/components/password_manager/core/browser/leak_detection_delegate.cc
+++ b/components/password_manager/core/browser/leak_detection_delegate.cc
@@ -10,7 +10,6 @@
 #include "build/build_config.h"
 #include "components/autofill/core/common/save_password_progress_logger.h"
 #include "components/password_manager/core/browser/form_parsing/form_parser.h"
-#include "components/password_manager/core/browser/insecure_credentials_table.h"
 #include "components/password_manager/core/browser/leak_detection/leak_detection_check.h"
 #include "components/password_manager/core/browser/leak_detection/leak_detection_check_factory_impl.h"
 #include "components/password_manager/core/browser/leak_detection_delegate_helper.h"
diff --git a/components/password_manager/core/browser/leak_detection_dialog_utils_unittest.cc b/components/password_manager/core/browser/leak_detection_dialog_utils_unittest.cc
index 3db5a59e..678fd634 100644
--- a/components/password_manager/core/browser/leak_detection_dialog_utils_unittest.cc
+++ b/components/password_manager/core/browser/leak_detection_dialog_utils_unittest.cc
@@ -8,7 +8,6 @@
 #include "base/strings/utf_string_conversions.h"
 #include "base/test/scoped_feature_list.h"
 #include "build/build_config.h"
-#include "components/password_manager/core/browser/insecure_credentials_table.h"
 #include "components/password_manager/core/common/password_manager_features.h"
 #include "components/strings/grit/components_strings.h"
 #include "components/url_formatter/elide_url.h"
diff --git a/components/password_manager/core/browser/mock_password_form_manager_for_ui.h b/components/password_manager/core/browser/mock_password_form_manager_for_ui.h
index 6ad936c..3059e38 100644
--- a/components/password_manager/core/browser/mock_password_form_manager_for_ui.h
+++ b/components/password_manager/core/browser/mock_password_form_manager_for_ui.h
@@ -5,7 +5,6 @@
 #ifndef COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_MOCK_PASSWORD_FORM_MANAGER_FOR_UI_H_
 #define COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_MOCK_PASSWORD_FORM_MANAGER_FOR_UI_H_
 
-#include "components/password_manager/core/browser/insecure_credentials_table.h"
 #include "components/password_manager/core/browser/password_form_manager_for_ui.h"
 #include "components/password_manager/core/browser/statistics_table.h"
 #include "testing/gmock/include/gmock/gmock.h"
@@ -41,7 +40,7 @@
               GetInteractionsStats,
               (),
               (const override));
-  MOCK_METHOD(base::span<const InsecureCredential>,
+  MOCK_METHOD(const std::vector<const PasswordForm*>&,
               GetInsecureCredentials,
               (),
               (const override));
diff --git a/components/password_manager/core/browser/password_form_manager.cc b/components/password_manager/core/browser/password_form_manager.cc
index a2ca715..a5fb1cb 100644
--- a/components/password_manager/core/browser/password_form_manager.cc
+++ b/components/password_manager/core/browser/password_form_manager.cc
@@ -256,7 +256,7 @@
   return base::make_span(form_fetcher_->GetInteractionsStats());
 }
 
-base::span<const InsecureCredential>
+const std::vector<const PasswordForm*>&
 PasswordFormManager::GetInsecureCredentials() const {
   return form_fetcher_->GetInsecureCredentials();
 }
diff --git a/components/password_manager/core/browser/password_form_manager.h b/components/password_manager/core/browser/password_form_manager.h
index 62c596e..93aaf5a 100644
--- a/components/password_manager/core/browser/password_form_manager.h
+++ b/components/password_manager/core/browser/password_form_manager.h
@@ -153,7 +153,8 @@
   metrics_util::CredentialSourceType GetCredentialSource() const override;
   PasswordFormMetricsRecorder* GetMetricsRecorder() override;
   base::span<const InteractionsStats> GetInteractionsStats() const override;
-  base::span<const InsecureCredential> GetInsecureCredentials() const override;
+  const std::vector<const PasswordForm*>& GetInsecureCredentials()
+      const override;
   bool IsBlocklisted() const override;
   bool WasUnblocklisted() const override;
   bool IsMovableToAccountStore() const override;
diff --git a/components/password_manager/core/browser/password_form_manager_for_ui.h b/components/password_manager/core/browser/password_form_manager_for_ui.h
index 0615940..158369f 100644
--- a/components/password_manager/core/browser/password_form_manager_for_ui.h
+++ b/components/password_manager/core/browser/password_form_manager_for_ui.h
@@ -10,7 +10,7 @@
 
 #include "base/containers/span.h"
 #include "base/memory/weak_ptr.h"
-#include "components/password_manager/core/browser/insecure_credentials_table.h"
+#include "components/password_manager/core/browser/password_form.h"
 #include "components/password_manager/core/browser/password_manager_metrics_util.h"
 
 namespace password_manager {
@@ -52,7 +52,7 @@
   virtual base::span<const InteractionsStats> GetInteractionsStats() const = 0;
 
   // List of insecure passwords for the current site.
-  virtual base::span<const InsecureCredential> GetInsecureCredentials()
+  virtual const std::vector<const PasswordForm*>& GetInsecureCredentials()
       const = 0;
 
   // Determines if the user opted to 'never remember' passwords for this form.
diff --git a/components/password_manager/core/browser/password_generation_manager.cc b/components/password_manager/core/browser/password_generation_manager.cc
index cff1946..ddb39cbee 100644
--- a/components/password_manager/core/browser/password_generation_manager.cc
+++ b/components/password_manager/core/browser/password_generation_manager.cc
@@ -47,7 +47,8 @@
   metrics_util::CredentialSourceType GetCredentialSource() const override;
   PasswordFormMetricsRecorder* GetMetricsRecorder() override;
   base::span<const InteractionsStats> GetInteractionsStats() const override;
-  base::span<const InsecureCredential> GetInsecureCredentials() const override;
+  const std::vector<const PasswordForm*>& GetInsecureCredentials()
+      const override;
   bool IsBlocklisted() const override;
   bool WasUnblocklisted() const override;
   bool IsMovableToAccountStore() const override;
@@ -66,6 +67,7 @@
  private:
   PasswordForm pending_form_;
   std::vector<const PasswordForm*> matches_;
+  std::vector<const PasswordForm*> insecure_credentials_;
   const std::vector<PasswordForm> federated_matches_;
   const std::vector<PasswordForm> non_federated_matches_;
 
@@ -125,9 +127,9 @@
   return {};
 }
 
-base::span<const InsecureCredential> PasswordDataForUI::GetInsecureCredentials()
-    const {
-  return {};
+const std::vector<const PasswordForm*>&
+PasswordDataForUI::GetInsecureCredentials() const {
+  return insecure_credentials_;
 }
 
 bool PasswordDataForUI::IsBlocklisted() const {
diff --git a/components/password_manager/core/browser/password_manager.cc b/components/password_manager/core/browser/password_manager.cc
index ecb974a..eee967a 100644
--- a/components/password_manager/core/browser/password_manager.cc
+++ b/components/password_manager/core/browser/password_manager.cc
@@ -189,12 +189,18 @@
   }
 }
 
-bool HasMutedCredentials(base::span<const InsecureCredential> credentials,
+bool IsMutedInsecureCredential(const PasswordForm* credential,
+                               InsecureType insecure_type) {
+  auto it = credential->password_issues.find(insecure_type);
+  return it != credential->password_issues.end() && it->second.is_muted;
+}
+
+bool HasMutedCredentials(const std::vector<const PasswordForm*>& credentials,
                          const std::u16string& username) {
   return base::ranges::any_of(credentials, [&username](const auto& credential) {
-    return credential.username == username && credential.is_muted &&
-           (credential.insecure_type == InsecureType::kLeaked ||
-            credential.insecure_type == InsecureType::kPhished);
+    return credential->username_value == username &&
+           (IsMutedInsecureCredential(credential, InsecureType::kLeaked) ||
+            IsMutedInsecureCredential(credential, InsecureType::kPhished));
   });
 }
 
diff --git a/components/password_manager/core/browser/password_store.h b/components/password_manager/core/browser/password_store.h
index b1b1e3f8..4761158 100644
--- a/components/password_manager/core/browser/password_store.h
+++ b/components/password_manager/core/browser/password_store.h
@@ -25,7 +25,6 @@
 #include "build/build_config.h"
 #include "components/password_manager/core/browser/android_affiliation/affiliated_match_helper.h"
 #include "components/password_manager/core/browser/field_info_store.h"
-#include "components/password_manager/core/browser/insecure_credentials_table.h"
 #include "components/password_manager/core/browser/password_form_digest.h"
 #include "components/password_manager/core/browser/password_manager_metrics_util.h"
 #include "components/password_manager/core/browser/password_store_backend.h"
@@ -142,9 +141,6 @@
     kFailure,
   };
 
-  using InsecureCredentialsTask =
-      base::OnceCallback<std::vector<InsecureCredential>()>;
-
   // Represents different triggers that may require requesting all logins from
   // the password store. Entries should not be renumbered and numeric values
   // should never be reused. Always keep this enum in sync with the
diff --git a/components/password_manager/core/browser/password_store_unittest.cc b/components/password_manager/core/browser/password_store_unittest.cc
index fec082d..161a136 100644
--- a/components/password_manager/core/browser/password_store_unittest.cc
+++ b/components/password_manager/core/browser/password_store_unittest.cc
@@ -399,9 +399,6 @@
 // Verify that when a login password is added with the password changed
 // the insecure credentials associated with it are cleared.
 TEST_F(PasswordStoreTest, InsecureCredentialsObserverOnLoginAdded) {
-  InsecureCredential insecure_credential(kTestWebRealm1, u"username_value_1",
-                                         base::Time::FromTimeT(1),
-                                         InsecureType::kLeaked, IsMuted(false));
   scoped_refptr<PasswordStore> store = CreatePasswordStore();
   store->Init(/*prefs=*/nullptr, /*affiliated_match_helper=*/nullptr);
 
@@ -488,11 +485,6 @@
                                                  u"password",
                                                  kTestLastUsageTime,
                                                  1};
-
-  InsecureCredential insecure_credential(kTestWebRealm1, u"username_value_1",
-                                         base::Time::FromTimeT(1),
-                                         InsecureType::kLeaked, IsMuted(false));
-
   scoped_refptr<PasswordStore> store = CreatePasswordStore();
   store->Init(/*prefs=*/nullptr, /*affiliated_match_helper=*/nullptr);
   std::unique_ptr<PasswordForm> test_form(
diff --git a/components/password_manager/core/browser/sync/password_sync_bridge.cc b/components/password_manager/core/browser/sync/password_sync_bridge.cc
index 6a83eee8..5dc9428 100644
--- a/components/password_manager/core/browser/sync/password_sync_bridge.cc
+++ b/components/password_manager/core/browser/sync/password_sync_bridge.cc
@@ -18,7 +18,6 @@
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/utf_string_conversions.h"
 #include "build/build_config.h"
-#include "components/password_manager/core/browser/insecure_credentials_table.h"
 #include "components/password_manager/core/browser/password_form.h"
 #include "components/password_manager/core/browser/password_manager_metrics_util.h"
 #include "components/password_manager/core/browser/password_store_change.h"
diff --git a/components/password_manager/core/browser/sync/password_sync_bridge_unittest.cc b/components/password_manager/core/browser/sync/password_sync_bridge_unittest.cc
index 9e4fcba..35c26e4 100644
--- a/components/password_manager/core/browser/sync/password_sync_bridge_unittest.cc
+++ b/components/password_manager/core/browser/sync/password_sync_bridge_unittest.cc
@@ -18,7 +18,6 @@
 #include "base/test/mock_callback.h"
 #include "base/test/scoped_feature_list.h"
 #include "build/build_config.h"
-#include "components/password_manager/core/browser/insecure_credentials_table.h"
 #include "components/password_manager/core/browser/password_form.h"
 #include "components/password_manager/core/browser/password_store_sync.h"
 #include "components/password_manager/core/common/password_manager_features.h"
diff --git a/components/password_manager/core/browser/ui/post_save_compromised_helper.cc b/components/password_manager/core/browser/ui/post_save_compromised_helper.cc
index 7e27631..186729e 100644
--- a/components/password_manager/core/browser/ui/post_save_compromised_helper.cc
+++ b/components/password_manager/core/browser/ui/post_save_compromised_helper.cc
@@ -18,11 +18,11 @@
 constexpr auto kMaxTimeSinceLastCheck = base::Minutes(30);
 
 PostSaveCompromisedHelper::PostSaveCompromisedHelper(
-    base::span<const InsecureCredential> compromised,
+    const std::vector<const PasswordForm*>& compromised,
     const std::u16string& current_username) {
-  for (const InsecureCredential& credential : compromised) {
-    if (credential.username == current_username)
-      current_leak_ = credential;
+  for (const PasswordForm* credential : compromised) {
+    if (credential->username_value == current_username)
+      current_leak_ = *credential;
   }
 }
 
@@ -76,7 +76,8 @@
   bool compromised_password_changed = false;
 
   for (const auto& form : passwords_) {
-    if (current_leak_ && form->username_value == current_leak_->username &&
+    if (current_leak_ &&
+        form->username_value == current_leak_->username_value &&
         form->signon_realm == current_leak_->signon_realm) {
       if (form->password_issues.empty())
         compromised_password_changed = true;
diff --git a/components/password_manager/core/browser/ui/post_save_compromised_helper.h b/components/password_manager/core/browser/ui/post_save_compromised_helper.h
index 09b90664..5f9563c7 100644
--- a/components/password_manager/core/browser/ui/post_save_compromised_helper.h
+++ b/components/password_manager/core/browser/ui/post_save_compromised_helper.h
@@ -10,7 +10,7 @@
 #include "base/callback.h"
 #include "base/containers/span.h"
 #include "base/memory/weak_ptr.h"
-#include "components/password_manager/core/browser/insecure_credentials_table.h"
+#include "components/password_manager/core/browser/password_form.h"
 #include "components/password_manager/core/browser/password_store_consumer.h"
 #include "third_party/abseil-cpp/absl/types/optional.h"
 
@@ -40,7 +40,7 @@
 
   // |compromised| contains all insecure credentials for the current site.
   // |current_username| is the username that was just saved or updated.
-  PostSaveCompromisedHelper(base::span<const InsecureCredential> compromised,
+  PostSaveCompromisedHelper(const std::vector<const PasswordForm*>& compromised,
                             const std::u16string& current_username);
   ~PostSaveCompromisedHelper() override;
 
@@ -67,7 +67,7 @@
   void AnalyzeLeakedCredentialsInternal();
 
   // Contains the entry for the currently leaked credentials if it was leaked.
-  absl::optional<InsecureCredential> current_leak_;
+  absl::optional<PasswordForm> current_leak_;
   // Callback to notify the caller about the bubble type.
   BubbleCallback callback_;
   // BubbleType after the callback was executed.
diff --git a/components/password_manager/core/browser/ui/post_save_compromised_helper_unittest.cc b/components/password_manager/core/browser/ui/post_save_compromised_helper_unittest.cc
index 51f074f..db3074b 100644
--- a/components/password_manager/core/browser/ui/post_save_compromised_helper_unittest.cc
+++ b/components/password_manager/core/browser/ui/post_save_compromised_helper_unittest.cc
@@ -30,29 +30,36 @@
 constexpr char16_t kUsername[] = u"user";
 constexpr char16_t kUsername2[] = u"user2";
 constexpr char16_t kUsername3[] = u"user3";
-
-InsecureCredential CreateInsecureCredential(
-    base::StringPiece16 username,
-    PasswordForm::Store store = PasswordForm::Store::kProfileStore,
-    IsMuted muted = IsMuted(false)) {
-  InsecureCredential compromised(kSignonRealm, std::u16string(username),
-                                 base::Time(), InsecureType::kLeaked, muted);
-  compromised.in_store = store;
-  return compromised;
-}
+constexpr char16_t kPassword[] = u"unsafe";
+constexpr char16_t kPassword2[] = u"unsafe2";
+constexpr char16_t kPassword3[] = u"unsafe3";
 
 // Creates a form.
 PasswordForm CreateForm(
-    base::StringPiece signon_realm,
-    base::StringPiece16 username,
+    const std::string& signon_realm,
+    const std::u16string& username,
+    const std::u16string& password,
     PasswordForm::Store store = PasswordForm::Store::kProfileStore) {
   PasswordForm form;
-  form.signon_realm = std::string(signon_realm);
-  form.username_value = std::u16string(username);
+  form.signon_realm = signon_realm;
+  form.username_value = username;
+  form.password_value = password;
   form.in_store = store;
   return form;
 }
 
+PasswordForm CreateInsecureCredential(
+    const std::u16string& username,
+    const std::u16string& password,
+    PasswordForm::Store store = PasswordForm::Store::kProfileStore,
+    IsMuted muted = IsMuted(false)) {
+  PasswordForm compromised =
+      CreateForm(kSignonRealm, username, password, store);
+  compromised.password_issues.insert(
+      {InsecureType::kLeaked, InsecurityMetadata(base::Time(), muted)});
+  return compromised;
+}
+
 }  // namespace
 
 class PostSaveCompromisedHelperTest : public testing::Test {
@@ -122,7 +129,7 @@
   base::MockCallback<PostSaveCompromisedHelper::BubbleCallback> callback;
   EXPECT_CALL(callback, Run(BubbleType::kNoBubble, _));
 
-  PasswordForm form = CreateForm(kSignonRealm, kUsername2);
+  PasswordForm form = CreateForm(kSignonRealm, kUsername2, kPassword2);
   ExpectGetLoginsCall({form});
   helper.AnalyzeLeakedCredentials(profile_store(), account_store(), prefs(),
                                   callback.Get());
@@ -133,13 +140,14 @@
 TEST_F(PostSaveCompromisedHelperTest, CompromisedSite_ItemStayed) {
   prefs()->SetDouble(kLastTimePasswordCheckCompleted,
                      (base::Time::Now() - base::Minutes(1)).ToDoubleT());
-  PasswordForm form1 = CreateForm(kSignonRealm, kUsername);
+  PasswordForm form1 = CreateForm(kSignonRealm, kUsername, kPassword);
   form1.password_issues.insert({InsecureType::kLeaked, InsecurityMetadata()});
-  PasswordForm form2 = CreateForm(kSignonRealm, kUsername2);
+  PasswordForm form2 = CreateForm(kSignonRealm, kUsername2, kPassword2);
   form2.password_issues.insert({InsecureType::kLeaked, InsecurityMetadata()});
+  PasswordForm insecure_credential =
+      CreateInsecureCredential(kUsername, kPassword);
 
-  PostSaveCompromisedHelper helper({{CreateInsecureCredential(kUsername)}},
-                                   kUsername);
+  PostSaveCompromisedHelper helper({&insecure_credential}, kUsername);
   base::MockCallback<PostSaveCompromisedHelper::BubbleCallback> callback;
   ExpectGetLoginsCall({form1, form2});
   EXPECT_CALL(callback, Run(BubbleType::kNoBubble, 2));
@@ -152,15 +160,11 @@
 TEST_F(PostSaveCompromisedHelperTest, CompromisedSite_ItemGone) {
   prefs()->SetDouble(kLastTimePasswordCheckCompleted,
                      (base::Time::Now() - base::Minutes(1)).ToDoubleT());
-  std::vector<InsecureCredential> saved = {
-      CreateInsecureCredential(kUsername),
-      CreateInsecureCredential(kUsername2)};
+  PasswordForm form1 = CreateForm(kSignonRealm, kUsername, kPassword);
+  PasswordForm form2 = CreateInsecureCredential(kUsername2, kPassword2);
+  PasswordForm form3 = CreateInsecureCredential(kUsername, kPassword);
 
-  PasswordForm form1 = CreateForm(kSignonRealm, kUsername);
-  PasswordForm form2 = CreateForm(kSignonRealm, kUsername2);
-  form2.password_issues.insert({InsecureType::kLeaked, InsecurityMetadata()});
-
-  PostSaveCompromisedHelper helper({saved}, kUsername);
+  PostSaveCompromisedHelper helper({&form2, &form3}, kUsername);
   base::MockCallback<PostSaveCompromisedHelper::BubbleCallback> callback;
   EXPECT_CALL(callback, Run(BubbleType::kPasswordUpdatedWithMoreToFix, 1));
   ExpectGetLoginsCall({form1, form2});
@@ -172,8 +176,9 @@
 }
 
 TEST_F(PostSaveCompromisedHelperTest, FixedLast_BulkCheckNeverDone) {
-  PostSaveCompromisedHelper helper({{CreateInsecureCredential(kUsername)}},
-                                   kUsername);
+  PasswordForm insecure_credential =
+      CreateInsecureCredential(kUsername, kPassword);
+  PostSaveCompromisedHelper helper({&insecure_credential}, kUsername);
   base::MockCallback<PostSaveCompromisedHelper::BubbleCallback> callback;
   EXPECT_CALL(callback, Run(BubbleType::kNoBubble, 0));
   EXPECT_CALL(*profile_store(), GetAutofillableLogins).Times(0);
@@ -187,8 +192,9 @@
 TEST_F(PostSaveCompromisedHelperTest, FixedLast_BulkCheckDoneLongAgo) {
   prefs()->SetDouble(kLastTimePasswordCheckCompleted,
                      (base::Time::Now() - base::Days(5)).ToDoubleT());
-  std::vector<InsecureCredential> saved = {CreateInsecureCredential(kUsername)};
-  PostSaveCompromisedHelper helper({saved}, kUsername);
+  PasswordForm insecure_credential =
+      CreateInsecureCredential(kUsername, kPassword);
+  PostSaveCompromisedHelper helper({&insecure_credential}, kUsername);
   base::MockCallback<PostSaveCompromisedHelper::BubbleCallback> callback;
   EXPECT_CALL(callback, Run(BubbleType::kNoBubble, 0));
   EXPECT_CALL(*profile_store(), GetAutofillableLogins).Times(0);
@@ -202,11 +208,12 @@
 TEST_F(PostSaveCompromisedHelperTest, FixedLast_BulkCheckDoneRecently) {
   prefs()->SetDouble(kLastTimePasswordCheckCompleted,
                      (base::Time::Now() - base::Minutes(1)).ToDoubleT());
-  std::vector<InsecureCredential> saved = {CreateInsecureCredential(kUsername)};
-  PostSaveCompromisedHelper helper({saved}, kUsername);
+  PasswordForm insecure_credential =
+      CreateInsecureCredential(kUsername, kPassword);
+  PostSaveCompromisedHelper helper({&insecure_credential}, kUsername);
   base::MockCallback<PostSaveCompromisedHelper::BubbleCallback> callback;
   EXPECT_CALL(callback, Run(BubbleType::kPasswordUpdatedSafeState, 0));
-  ExpectGetLoginsCall({CreateForm(kSignonRealm, kUsername)});
+  ExpectGetLoginsCall({CreateForm(kSignonRealm, kUsername, kPassword)});
   helper.AnalyzeLeakedCredentials(profile_store(), account_store(), prefs(),
                                   callback.Get());
   WaitForPasswordStore();
@@ -217,12 +224,12 @@
 TEST_F(PostSaveCompromisedHelperTest, BubbleShownEvenIfIssueIsMuted) {
   prefs()->SetDouble(kLastTimePasswordCheckCompleted,
                      (base::Time::Now() - base::Minutes(1)).ToDoubleT());
-  std::vector<InsecureCredential> saved = {CreateInsecureCredential(
-      kUsername, PasswordForm::Store::kProfileStore, IsMuted(true))};
-  PostSaveCompromisedHelper helper({saved}, kUsername);
+  PasswordForm insecure_credential = CreateInsecureCredential(
+      kUsername, kPassword, PasswordForm::Store::kProfileStore, IsMuted(true));
+  PostSaveCompromisedHelper helper({&insecure_credential}, kUsername);
   base::MockCallback<PostSaveCompromisedHelper::BubbleCallback> callback;
   EXPECT_CALL(callback, Run(BubbleType::kPasswordUpdatedSafeState, 0));
-  ExpectGetLoginsCall({CreateForm(kSignonRealm, kUsername)});
+  ExpectGetLoginsCall({CreateForm(kSignonRealm, kUsername, kPassword)});
   helper.AnalyzeLeakedCredentials(profile_store(), account_store(), prefs(),
                                   callback.Get());
   WaitForPasswordStore();
@@ -233,14 +240,15 @@
 TEST_F(PostSaveCompromisedHelperTest, MutedIssuesNotIncludedToCount) {
   prefs()->SetDouble(kLastTimePasswordCheckCompleted,
                      (base::Time::Now() - base::Minutes(1)).ToDoubleT());
-  std::vector<InsecureCredential> saved = {CreateInsecureCredential(kUsername)};
-  PostSaveCompromisedHelper helper({saved}, kUsername);
+  PasswordForm insecure_credential =
+      CreateInsecureCredential(kUsername, kPassword);
+  PostSaveCompromisedHelper helper({&insecure_credential}, kUsername);
   base::MockCallback<PostSaveCompromisedHelper::BubbleCallback> callback;
   EXPECT_CALL(callback, Run(BubbleType::kPasswordUpdatedWithMoreToFix, 1));
-  PasswordForm form1 = CreateForm(kSignonRealm, kUsername);
-  PasswordForm form2 = CreateForm(kSignonRealm, kUsername2);
+  PasswordForm form1 = CreateForm(kSignonRealm, kUsername, kPassword);
+  PasswordForm form2 = CreateForm(kSignonRealm, kUsername2, kPassword2);
   form2.password_issues.insert({InsecureType::kLeaked, InsecurityMetadata()});
-  PasswordForm form3 = CreateForm(kSignonRealm, kUsername3);
+  PasswordForm form3 = CreateForm(kSignonRealm, kUsername3, kPassword3);
   form3.password_issues.insert(
       {InsecureType::kLeaked, InsecurityMetadata(base::Time(), IsMuted(true))});
 
@@ -276,22 +284,20 @@
        CompromisedSiteInAccountStore_ItemStayed) {
   prefs()->SetDouble(kLastTimePasswordCheckCompleted,
                      (base::Time::Now() - base::Minutes(1)).ToDoubleT());
-  InsecureCredential profile_store_compromised_credential =
-      CreateInsecureCredential(kUsername, PasswordForm::Store::kProfileStore);
-  InsecureCredential account_store_compromised_credential =
-      CreateInsecureCredential(kUsername, PasswordForm::Store::kAccountStore);
+  PasswordForm compromised_profile_credential = CreateInsecureCredential(
+      kUsername, kPassword, PasswordForm::Store::kProfileStore);
+  PasswordForm compromised_account_credential = CreateInsecureCredential(
+      kUsername, kPassword, PasswordForm::Store::kAccountStore);
 
-  std::vector<InsecureCredential> compromised_credentials = {
-      profile_store_compromised_credential,
-      account_store_compromised_credential};
-
-  PostSaveCompromisedHelper helper({compromised_credentials}, kUsername);
+  PostSaveCompromisedHelper helper(
+      {&compromised_profile_credential, &compromised_account_credential},
+      kUsername);
   EXPECT_CALL(*profile_store(), GetAutofillableLogins)
       .WillOnce(testing::WithArg<0>([](base::WeakPtr<PasswordStoreConsumer>
                                            consumer) {
         std::vector<std::unique_ptr<PasswordForm>> results;
         results.push_back(std::make_unique<PasswordForm>(
-            CreateForm(kSignonRealm, kUsername)));
+            CreateForm(kSignonRealm, kUsername, kPassword)));
         results.back()->password_issues.insert(
             {InsecureType::kLeaked, InsecurityMetadata()});
         consumer->OnGetPasswordStoreResults(std::move(results));
@@ -300,8 +306,9 @@
       .WillOnce(testing::WithArg<0>([](base::WeakPtr<PasswordStoreConsumer>
                                            consumer) {
         std::vector<std::unique_ptr<PasswordForm>> results;
-        results.push_back(std::make_unique<PasswordForm>(CreateForm(
-            kSignonRealm, kUsername, PasswordForm::Store::kAccountStore)));
+        results.push_back(std::make_unique<PasswordForm>(
+            CreateForm(kSignonRealm, kUsername, kPassword,
+                       PasswordForm::Store::kAccountStore)));
         results.back()->password_issues.insert(
             {InsecureType::kLeaked, InsecurityMetadata()});
         consumer->OnGetPasswordStoreResults(std::move(results));
diff --git a/components/policy/resources/ENTERPRISE_POLICY_OWNERS b/components/policy/ENTERPRISE_POLICY_OWNERS
similarity index 100%
rename from components/policy/resources/ENTERPRISE_POLICY_OWNERS
rename to components/policy/ENTERPRISE_POLICY_OWNERS
diff --git a/components/policy/OWNERS b/components/policy/OWNERS
index 2a80d44..5945fa7 100644
--- a/components/policy/OWNERS
+++ b/components/policy/OWNERS
@@ -1,11 +1,13 @@
-anqing@chromium.org
-emaxx@chromium.org
+# Prefer enterprise-policy-review@ to individual owners. Sending code
+# reviews to the alias allows the owners to distribute code review loads.
+enterprise-policy-review@google.com
+
+# When making changes, also update EnterprisePolicyOwners in the GwsQ config:
+# http://google3/chrome/enterprise/gwsq/enterprise-policy-review.gwsq
+enterprise-policy-review@google.com
+
+file://components/policy/ENTERPRISE_POLICY_OWNERS
+
 ftirelo@chromium.org
-hendrich@chromium.org
 nicolaso@chromium.org
-pastarmovj@chromium.org
-pmarko@chromium.org
-poromov@chromium.org
-rsorokin@chromium.org
 ydago@chromium.org
-zmin@chromium.org
diff --git a/components/policy/resources/OWNERS b/components/policy/resources/OWNERS
index 7d5637c..75d73f598b 100644
--- a/components/policy/resources/OWNERS
+++ b/components/policy/resources/OWNERS
@@ -11,4 +11,4 @@
 enterprise-policy-review@google.com
 
 per-file policy_templates.json=set noparent
-per-file policy_templates.json=file://components/policy/resources/ENTERPRISE_POLICY_OWNERS
+per-file policy_templates.json=file://components/policy/ENTERPRISE_POLICY_OWNERS
diff --git a/components/policy/resources/policy_templates_vi.xtb b/components/policy/resources/policy_templates_vi.xtb
index 970f8afd..5123b86 100644
--- a/components/policy/resources/policy_templates_vi.xtb
+++ b/components/policy/resources/policy_templates_vi.xtb
@@ -1003,6 +1003,7 @@
 <translation id="2043749682619281558">Bật tính năng làm nổi bật con trỏ trên màn hình đăng nhập</translation>
 <translation id="2043770014371753404">Đã tắt máy in dành cho doanh nghiệp</translation>
 <translation id="2057317273526988987">Cho phép truy cập vào một danh sách các URL</translation>
+<translation id="2058055310819710697">Kích hoạt Chế độ nhà phát triển ứng dụng tách biệt</translation>
 <translation id="2061123930713023976">Cho phép dùng kỹ thuật chặn bắt gói tin qua mạng để gỡ lỗi</translation>
 <translation id="2061810934846663491">Định cấu hình tên miền bắt buộc cho máy chủ truy cập từ xa</translation>
 <translation id="2069350366303315077">Khi bạn đặt chính sách này thành Bật, thì <ph name="PRODUCT_NAME" /> sẽ thực thi các phiên khách và ngăn chặn các phiên đăng nhập vào hồ sơ. Phiên đăng nhập khách là các hồ sơ <ph name="PRODUCT_NAME" />, trong đó các cửa sổ đều ở Chế độ ẩn danh.
@@ -1500,6 +1501,7 @@
       Nếu bạn không đặt chính sách này, <ph name="PRODUCT_NAME" /> sẽ tải tất cả máy chủ nhắn tin gốc đã cài đặt.</translation>
 <translation id="2568488785376704318">Chính sách này không còn dùng nữa. Thay vào đó, vui lòng sử dụng <ph name="REMOTE_ACCESS_HOST_DOMAIN_LIST_POLICY_NAME" />.</translation>
 <translation id="2575198840408498393">Tắt tính năng tạo hồ sơ chuyển vùng</translation>
+<translation id="2576324725151524912">Chấp nhận Chế độ nhà phát triển cho ứng dụng tách biệt.</translation>
 <translation id="257788512393330403">Yêu cầu cứ 6 giờ nhập mật khẩu một lần</translation>
 <translation id="2580757713966614760">Việc đặt chính sách này sẽ chỉ định chính sách truy cập nào áp dụng cho cấu hình máy in số lượng lớn, kiểm soát máy in nào từ <ph name="DEVICE_PRINTERS_POLICY_NAME" /> là dành cho người dùng.
 
@@ -2499,6 +2501,9 @@
       Nếu bạn bật hoặc không đặt giá trị cho lựa chọn cài đặt này, thì người dùng vẫn có quyền kiểm soát tính năng Tự động điền. Điều này sẽ cho phép họ thiết lập hồ sơ Tự động điền và bật hoặc tắt tính năng này theo ý muốn.</translation>
 <translation id="3733014427925403568">Ngày trong tuần cho khoảng thời gian.</translation>
 <translation id="3736879847913515635">Cho phép thêm người trong trình quản lý người dùng</translation>
+<translation id="3737351057210085009">Thao tác đặt chính sách này thành Bật sẽ cho phép người dùng truy cập Chế độ nhà phát triển cho các ứng dụng tách biệt.
+      Nếu bạn đặt chính sách này thành Tắt, người dùng sẽ không truy cập được những tính năng này.
+      Nếu bạn không đặt chính sách này, tất cả người dùng và hệ điều hành đều được phép sử dụng chế độ mặc định, trừ những người dùng do doanh nghiệp quản lý trên Chrome OS.</translation>
 <translation id="3749259744154402564">Không được hỗ trợ</translation>
 <translation id="3750220015372671395">Chặn tạo khóa trên các trang web này</translation>
 <translation id="3755237588083934849">Việc đặt chính sách này sẽ xác định tần suất tải trạng thái thiết bị lên, tính bằng mili giây. Thời gian tối thiểu cho phép là 60 giây.
@@ -2916,6 +2921,9 @@
 <translation id="4183229833636799228">Cài đặt <ph name="FLASH_PLUGIN_NAME" /> mặc định</translation>
 <translation id="4187576366596772431">Chặn API WebHID trên các trang web này</translation>
 <translation id="4192388905594723944">URL để xác thực mã thông báo xác thực ứng dụng truy cập từ xa</translation>
+<translation id="4203055629055264833">Nếu bạn đặt chính sách này thành Bật hoặc không đặt, thì người dùng có thể đưa trang kết quả mới đây nhất của công cụ tìm kiếm mặc định vào một bảng điều khiển bên bằng cách bật/tắt một biểu tượng trong thanh công cụ.
+
+      Thao tác đặt chính sách này thành Tắt sẽ xoá một biểu tượng khỏi thanh công cụ, biểu tượng này mở ra bảng điều khiển bên chứa trang kết quả của công cụ tìm kiếm mặc định.</translation>
 <translation id="4203643479966921607">Nếu bạn đặt chính sách này thành Bật hoặc không đặt chính sách này, thì <ph name="PRODUCT_NAME" /> sẽ được bật. Người dùng có thể chạy ứng dụng này từ trình đơn ứng dụng, trình đơn ngữ cảnh của trang, các chức năng điều khiển nội dung đa phương tiện trên trang web hỗ trợ Cast và biểu tượng thanh công cụ Cast (nếu hiển thị).
 
       Nếu bạn đặt chính sách này thành Tắt, thì <ph name="PRODUCT_NAME" /> sẽ bị tắt.</translation>
@@ -3326,6 +3334,7 @@
           Nếu bạn không đặt chính sách này, thì ban đầu, chế độ đơn âm sẽ tắt nhưng người dùng có thể bật bất cứ lúc nào.</translation>
 <translation id="4768446404233019970">Bật bộ thuật toán mật mã 3DES trong TLS</translation>
 <translation id="4770334626033858263">Cấu hình dùng để tạo và xác minh Mã truy cập dành cho cha mẹ.</translation>
+<translation id="4783415902268741066">Cho phép hiện các trang kết quả mới đây nhất của công cụ tìm kiếm mặc định trong bảng điều khiển bên của Trình duyệt</translation>
 <translation id="4787763197941188108">Ghi đè kích thước trang in mặc định.
 
       <ph name="PAGE_SIZE_NAME" /> nên chứa một trong các định dạng được liệt kê hoặc giá trị "tùy chỉnh" nếu kích thước giấy bắt buộc không có trong danh sách đó. Nếu cung cấp giá trị "tùy chỉnh", thì bạn nên chỉ định thuộc tính <ph name="PAGE_SIZE_CUSTOM_SIZE" />. Thuộc tính này mô tả chiều dài và chiều rộng mong muốn tính bằng micromet. Nếu không, bạn không nên chỉ định thuộc tính <ph name="PAGE_SIZE_CUSTOM_SIZE" />. Chính sách vi phạm những quy tắc này sẽ bị bỏ qua.
@@ -4331,6 +4340,7 @@
       Đối với <ph name="MS_WIN_NAME" /> hoặc <ph name="MAC_OS_NAME" />, chính sách này chỉ có hiệu lực nếu <ph name="PRINT_PDF_AS_IMAGE_AVAILABILITY_POLICY_NAME" /> cũng được bật.</translation>
 <translation id="5929855945144989709">Cho phép các thiết bị chạy máy ảo trên Chrome OS</translation>
 <translation id="5932767795525445337">Chính sách này cũng có thể được dùng để ghim ứng dụng Android.</translation>
+<translation id="5939656968921014919">Tắt Chế độ nhà phát triển ứng dụng tách biệt</translation>
 <translation id="5945312246863177268">Không cho phép người dùng nhấp vào thông báo trong Trung tâm điều khiển điện thoại để mở ứng dụng Eche.</translation>
 <translation id="5946082169633555022">Kênh beta</translation>
 <translation id="5946329690214660966">Đặt lịch biểu tùy chỉnh để kiểm tra bản cập nhật</translation>
@@ -4720,6 +4730,7 @@
 <translation id="6378393933102834628">Nếu bạn đặt chính sách này thành True, thì lối tắt ứng dụng sẽ hiển thị. Nếu bạn đặt chính sách này thành False, thì lối tắt này sẽ không hiển thị.
 
       Nếu bạn đặt chính sách này, thì người dùng sẽ không thể thay đổi được. Nếu bạn không đặt chính sách này, thì người dùng sẽ quyết định hiện hoặc ẩn lối tắt ứng dụng từ trình đơn ngữ cảnh trên thanh dấu trang.</translation>
+<translation id="6384542789059421431">Bật chế độ hiện trang kết quả của công cụ tìm kiếm mặc định trong bảng điều khiển bên của Trình duyệt</translation>
 <translation id="6394350458541421998">Chính sách này đã chấm dứt kể từ phiên bản <ph name="PRODUCT_OS_NAME" /> 29. Vui lòng sử dụng chính sách PresentationScreenDimDelayScale thay vào đó.</translation>
 <translation id="6397588391180665797">Báo cáo cho người dùng về cấu hình mạng trên các thiết bị đã đăng ký.
 
@@ -5686,6 +5697,7 @@
       Nếu chính sách này chưa được đặt hoặc được đặt thành false, <ph name="TLS_FALSE_START" /> sẽ được bật. Nếu chính sách này được đặt thành true, <ph name="TLS_FALSE_START" /> sẽ bị tắt.</translation>
 <translation id="7433714841194914373">Bật chế độ Instant</translation>
 <translation id="7434202861148928348">Định cấu hình tên miền bắt buộc cho ứng dụng truy cập từ xa</translation>
+<translation id="7436939516497076240">Tắt chế độ hiện trang kết quả của công cụ tìm kiếm mặc định trong một bảng điều khiển bên của trình duyệt.</translation>
 <translation id="7443356543619955157">Nếu bạn đặt chính sách này, cấu hình mạng sẽ được đẩy cho tất cả người dùng thiết bị <ph name="PRODUCT_OS_NAME" />. Cấu hình mạng là một chuỗi có định dạng JSON như được xác định trong định dạng Cấu hình mạng mở.</translation>
 <translation id="7448430478749155471">Bật tính năng chọn để nói trên màn hình đăng nhập</translation>
 <translation id="7456922722153109956">Chính sách này kiểm soát cách thức xuất hiện của thông báo giữa trang trên trang Thẻ mới.
diff --git a/components/signin/internal/identity_manager/BUILD.gn b/components/signin/internal/identity_manager/BUILD.gn
index 989c49bd..18a0526 100644
--- a/components/signin/internal/identity_manager/BUILD.gn
+++ b/components/signin/internal/identity_manager/BUILD.gn
@@ -14,6 +14,7 @@
     "account_capabilities_fetcher.cc",
     "account_capabilities_fetcher.h",
     "account_capabilities_fetcher_factory.h",
+    "account_capabilities_list.h",
     "account_fetcher_service.cc",
     "account_fetcher_service.h",
     "account_info_fetcher.cc",
diff --git a/components/signin/internal/identity_manager/account_capabilities_constants.cc b/components/signin/internal/identity_manager/account_capabilities_constants.cc
index 468af49..47ca9242 100644
--- a/components/signin/internal/identity_manager/account_capabilities_constants.cc
+++ b/components/signin/internal/identity_manager/account_capabilities_constants.cc
@@ -4,11 +4,7 @@
 
 #include "components/signin/internal/identity_manager/account_capabilities_constants.h"
 
-const char kIsSubjectToParentalControlsCapabilityName[] =
-    "accountcapabilities/guydolldmfya";
-
-const char kCanOfferExtendedChromeSyncPromosCapabilityName[] =
-    "accountcapabilities/gi2tklldmfya";
-
-const char kCanRunChromePrivacySandboxTrialsCapabilityName[] =
-    "accountcapabilities/gu2dqlldmfya";
+#define ACCOUNT_CAPABILITY(cpp_label, java_label, name) \
+  const char cpp_label[] = name;
+#include "components/signin/internal/identity_manager/account_capabilities_list.h"
+#undef ACCOUNT_CAPABILITY
diff --git a/components/signin/internal/identity_manager/account_capabilities_constants.h b/components/signin/internal/identity_manager/account_capabilities_constants.h
index 8d0d7fa..e94f33a0 100644
--- a/components/signin/internal/identity_manager/account_capabilities_constants.h
+++ b/components/signin/internal/identity_manager/account_capabilities_constants.h
@@ -5,11 +5,9 @@
 #ifndef COMPONENTS_SIGNIN_INTERNAL_IDENTITY_MANAGER_ACCOUNT_CAPABILITIES_CONSTANTS_H_
 #define COMPONENTS_SIGNIN_INTERNAL_IDENTITY_MANAGER_ACCOUNT_CAPABILITIES_CONSTANTS_H_
 
-// When changing this file, please ensure that the changes are reflected in the
-// SUPPORTED_ACCOUNT_CAPABILITY_NAMES array in AccountCapabilities.java.
-
-extern const char kCanOfferExtendedChromeSyncPromosCapabilityName[];
-extern const char kIsSubjectToParentalControlsCapabilityName[];
-extern const char kCanRunChromePrivacySandboxTrialsCapabilityName[];
+#define ACCOUNT_CAPABILITY(cpp_label, java_label, name) \
+  extern const char cpp_label[];
+#include "components/signin/internal/identity_manager/account_capabilities_list.h"
+#undef ACCOUNT_CAPABILITY
 
 #endif  // COMPONENTS_SIGNIN_INTERNAL_IDENTITY_MANAGER_ACCOUNT_CAPABILITIES_CONSTANTS_H_
diff --git a/components/signin/internal/identity_manager/account_capabilities_list.h b/components/signin/internal/identity_manager/account_capabilities_list.h
new file mode 100644
index 0000000..edd5e3723
--- /dev/null
+++ b/components/signin/internal/identity_manager/account_capabilities_list.h
@@ -0,0 +1,29 @@
+// Copyright 2022 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// This file intentionally does not have header guards, it's included
+// inside a macro to generate a list of constants. The following line silences a
+// presubmit and Tricium warning that would otherwise be triggered by this:
+// no-include-guard-because-multiply-included
+// NOLINT(build/header_guard)
+
+// This is the list of account capabilities identifiers and their values. For
+// the constant declarations, include the file
+// "account_capabilities_constants.h".
+
+// Here we define the values using a macro ACCOUNT_CAPABILITY, so it can be
+// expanded differently in some places. The macro has the following signature:
+// ACCOUNT_CAPABILITY(cpp_label, java_label, name).
+
+ACCOUNT_CAPABILITY(kIsSubjectToParentalControlsCapabilityName,
+                   IS_SUBJECT_TO_PARENTAL_CONTROLS_CAPABILITY_NAME,
+                   "accountcapabilities/guydolldmfya")
+
+ACCOUNT_CAPABILITY(kCanOfferExtendedChromeSyncPromosCapabilityName,
+                   CAN_OFFER_EXTENDED_CHROME_SYNC_PROMOS_CAPABILITY_NAME,
+                   "accountcapabilities/gi2tklldmfya")
+
+ACCOUNT_CAPABILITY(kCanRunChromePrivacySandboxTrialsCapabilityName,
+                   CAN_RUN_CHROME_PRIVACY_SANDBOX_TRIALS_CAPABILITY_NAME,
+                   "accountcapabilities/gu2dqlldmfya")
diff --git a/components/signin/public/android/BUILD.gn b/components/signin/public/android/BUILD.gn
index d5b5b61..638eb2f 100644
--- a/components/signin/public/android/BUILD.gn
+++ b/components/signin/public/android/BUILD.gn
@@ -73,9 +73,11 @@
   ]
 }
 
-java_cpp_strings("account_capabilities_constants_javagen") {
-  sources = [ "//components/signin/internal/identity_manager/account_capabilities_constants.cc" ]
-  template = "java_templates/AccountCapabilitiesConstants.java.tmpl"
+java_cpp_template("account_capabilities_constants_javagen") {
+  sources = [ "java_templates/AccountCapabilitiesConstants.template" ]
+  inputs = [
+    "//components/signin/internal/identity_manager/account_capabilities_list.h",
+  ]
 }
 
 java_cpp_enum("tribool_javagen") {
diff --git a/components/signin/public/android/java/src/org/chromium/components/signin/AccountManagerFacadeImpl.java b/components/signin/public/android/java/src/org/chromium/components/signin/AccountManagerFacadeImpl.java
index 2de2b595..37cc1890d 100644
--- a/components/signin/public/android/java/src/org/chromium/components/signin/AccountManagerFacadeImpl.java
+++ b/components/signin/public/android/java/src/org/chromium/components/signin/AccountManagerFacadeImpl.java
@@ -227,7 +227,7 @@
             public AccountCapabilities doInBackground() {
                 Map<String, Integer> capabilitiesResponse = new HashMap<>();
                 for (String capabilityName :
-                        AccountCapabilities.SUPPORTED_ACCOUNT_CAPABILITY_NAMES) {
+                        AccountCapabilitiesConstants.SUPPORTED_ACCOUNT_CAPABILITY_NAMES) {
                     @CapabilityResponse
                     int capability = mDelegate.hasCapability(
                             account, getAndroidCapabilityName(capabilityName));
diff --git a/components/signin/public/android/java/src/org/chromium/components/signin/base/AccountCapabilities.java b/components/signin/public/android/java/src/org/chromium/components/signin/base/AccountCapabilities.java
index 56b06a9c..feebcc7a2 100644
--- a/components/signin/public/android/java/src/org/chromium/components/signin/base/AccountCapabilities.java
+++ b/components/signin/public/android/java/src/org/chromium/components/signin/base/AccountCapabilities.java
@@ -12,22 +12,13 @@
 import org.chromium.components.signin.Tribool;
 
 import java.util.HashMap;
-import java.util.HashSet;
 import java.util.Map;
-import java.util.Set;
 
 /**
  * Stores the state associated with supported account capabilities.
  * This class has a native counterpart.
  */
 public class AccountCapabilities {
-    // List of supported account capabilities generated from account_capabilities_constants.h.
-    public static final Set<String> SUPPORTED_ACCOUNT_CAPABILITY_NAMES = new HashSet<String>() {
-        { add(AccountCapabilitiesConstants.IS_SUBJECT_TO_PARENTAL_CONTROLS_CAPABILITY_NAME); }
-        { add(AccountCapabilitiesConstants.CAN_OFFER_EXTENDED_CHROME_SYNC_PROMOS_CAPABILITY_NAME); }
-        { add(AccountCapabilitiesConstants.CAN_RUN_CHROME_PRIVACY_SANDBOX_TRIALS_CAPABILITY_NAME); }
-    };
-
     private final Map<String, Boolean> mAccountCapabilities = new HashMap<>();
 
     @CalledByNative
@@ -35,7 +26,8 @@
         assert capabilityNames.length == capabilityValues.length;
         for (int i = 0; i < capabilityNames.length; i += 1) {
             final String capabilityName = capabilityNames[i];
-            assert SUPPORTED_ACCOUNT_CAPABILITY_NAMES.contains(capabilityName)
+            assert AccountCapabilitiesConstants.SUPPORTED_ACCOUNT_CAPABILITY_NAMES.contains(
+                    capabilityName)
                 : "Capability name not supported in Chrome: "
                     + capabilityName;
             mAccountCapabilities.put(capabilityName, capabilityValues[i]);
@@ -51,9 +43,11 @@
      */
     public static AccountCapabilities parseFromCapabilitiesResponse(
             Map<String, Integer> capabilityResponses) {
-        assert capabilityResponses.size() == SUPPORTED_ACCOUNT_CAPABILITY_NAMES.size();
+        assert capabilityResponses.size()
+                == AccountCapabilitiesConstants.SUPPORTED_ACCOUNT_CAPABILITY_NAMES.size();
         AccountCapabilities capabilities = new AccountCapabilities();
-        for (String capabilityName : SUPPORTED_ACCOUNT_CAPABILITY_NAMES) {
+        for (String capabilityName :
+                AccountCapabilitiesConstants.SUPPORTED_ACCOUNT_CAPABILITY_NAMES) {
             assert capabilityResponses.containsKey(capabilityName);
             @AccountManagerDelegate.CapabilityResponse
             int hasCapability = capabilityResponses.get(capabilityName);
@@ -65,12 +59,13 @@
     /**
      * Stores the Capability Value for the given capability name.
      * @param capabilityName One of the supported capability names {@link
-     *         #SUPPORTED_ACCOUNT_CAPABILITY_NAMES}.
+     *         #AccountCapabilitiesConstants.SUPPORTED_ACCOUNT_CAPABILITY_NAMES}.
      * @param hasCapability Capability Response for this capability.
      */
     public void setAccountCapability(@NonNull String capabilityName,
             @AccountManagerDelegate.CapabilityResponse int hasCapability) {
-        assert SUPPORTED_ACCOUNT_CAPABILITY_NAMES.contains(capabilityName)
+        assert AccountCapabilitiesConstants.SUPPORTED_ACCOUNT_CAPABILITY_NAMES.contains(
+                capabilityName)
             : "Capability name not supported: "
                 + capabilityName;
         if (hasCapability == AccountManagerDelegate.CapabilityResponse.EXCEPTION) {
diff --git a/components/signin/public/android/java_templates/AccountCapabilitiesConstants.java.tmpl b/components/signin/public/android/java_templates/AccountCapabilitiesConstants.java.tmpl
deleted file mode 100644
index 0fe4a11..0000000
--- a/components/signin/public/android/java_templates/AccountCapabilitiesConstants.java.tmpl
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright 2022 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// This file is autogenerated by
-//   //components/signin/public/android/BUILD.gn
-
-package org.chromium.components.signin;
-
-/** Account capabilities constants. */
-public abstract class AccountCapabilitiesConstants {{
-
-{NATIVE_STRINGS}
-
-    // Prevent instantiation.
-    private AccountCapabilitiesConstants() {{}}
-}}
diff --git a/components/signin/public/android/java_templates/AccountCapabilitiesConstants.template b/components/signin/public/android/java_templates/AccountCapabilitiesConstants.template
new file mode 100644
index 0000000..3f980187
--- /dev/null
+++ b/components/signin/public/android/java_templates/AccountCapabilitiesConstants.template
@@ -0,0 +1,30 @@
+// Copyright 2022 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// This file is autogenerated by
+//   //components/signin/public/android/BUILD.gn
+
+package org.chromium.components.signin;
+
+import java.util.Set;
+import java.util.HashSet;
+
+/** Account capabilities constants. */
+public abstract class AccountCapabilitiesConstants {
+
+#define ACCOUNT_CAPABILITY(cpp_label, java_label, name) \
+  public static final String java_label = name;
+#include "components/signin/internal/identity_manager/account_capabilities_list.h"
+#undef ACCOUNT_CAPABILITY
+
+  public static final Set<String> SUPPORTED_ACCOUNT_CAPABILITY_NAMES = new HashSet<String>() {
+#define ACCOUNT_CAPABILITY(cpp_label, java_label, name) \
+    { add(java_label); }
+#include "components/signin/internal/identity_manager/account_capabilities_list.h"
+#undef ACCOUNT_CAPABILITY
+  };
+
+    // Prevent instantiation.
+    private AccountCapabilitiesConstants() {}
+}
diff --git a/components/signin/public/android/junit/src/org/chromium/components/signin/base/AccountCapabilitiesTest.java b/components/signin/public/android/junit/src/org/chromium/components/signin/base/AccountCapabilitiesTest.java
index d7aae21..bc25dc9 100644
--- a/components/signin/public/android/junit/src/org/chromium/components/signin/base/AccountCapabilitiesTest.java
+++ b/components/signin/public/android/junit/src/org/chromium/components/signin/base/AccountCapabilitiesTest.java
@@ -59,7 +59,8 @@
     public static HashMap<String, Integer> populateCapabilitiesResponse(
             @AccountManagerDelegate.CapabilityResponse int value) {
         HashMap<String, Integer> response = new HashMap<>();
-        for (String capabilityName : AccountCapabilities.SUPPORTED_ACCOUNT_CAPABILITY_NAMES) {
+        for (String capabilityName :
+                AccountCapabilitiesConstants.SUPPORTED_ACCOUNT_CAPABILITY_NAMES) {
             response.put(capabilityName, value);
         }
         return response;
@@ -92,7 +93,7 @@
 
         static {
             // Asserts that the list of parameters contains all supported capability names.
-            assert AccountCapabilities.SUPPORTED_ACCOUNT_CAPABILITY_NAMES.containsAll(
+            assert AccountCapabilitiesConstants.SUPPORTED_ACCOUNT_CAPABILITY_NAMES.containsAll(
                     Lists.transform(sCapabilties, (paramSet) -> getCapabilityName(paramSet)));
         }
 
@@ -152,7 +153,8 @@
         AccountCapabilities capabilities = AccountCapabilities.parseFromCapabilitiesResponse(
                 populateCapabilitiesResponse(AccountManagerDelegate.CapabilityResponse.YES));
 
-        for (String capabilityName : AccountCapabilities.SUPPORTED_ACCOUNT_CAPABILITY_NAMES) {
+        for (String capabilityName :
+                AccountCapabilitiesConstants.SUPPORTED_ACCOUNT_CAPABILITY_NAMES) {
             Assert.assertEquals(getCapability(capabilityName, capabilities), Tribool.TRUE);
         }
     }
@@ -162,7 +164,8 @@
         AccountCapabilities capabilities = AccountCapabilities.parseFromCapabilitiesResponse(
                 populateCapabilitiesResponse(AccountManagerDelegate.CapabilityResponse.NO));
 
-        for (String capabilityName : AccountCapabilities.SUPPORTED_ACCOUNT_CAPABILITY_NAMES) {
+        for (String capabilityName :
+                AccountCapabilitiesConstants.SUPPORTED_ACCOUNT_CAPABILITY_NAMES) {
             Assert.assertEquals(getCapability(capabilityName, capabilities), Tribool.FALSE);
         }
     }
@@ -172,7 +175,8 @@
         AccountCapabilities capabilities = AccountCapabilities.parseFromCapabilitiesResponse(
                 populateCapabilitiesResponse(AccountManagerDelegate.CapabilityResponse.EXCEPTION));
 
-        for (String capabilityName : AccountCapabilities.SUPPORTED_ACCOUNT_CAPABILITY_NAMES) {
+        for (String capabilityName :
+                AccountCapabilitiesConstants.SUPPORTED_ACCOUNT_CAPABILITY_NAMES) {
             Assert.assertEquals(getCapability(capabilityName, capabilities), Tribool.UNKNOWN);
         }
     }
diff --git a/components/signin/public/identity_manager/account_capabilities.cc b/components/signin/public/identity_manager/account_capabilities.cc
index eb521b9f..08fba9d6 100644
--- a/components/signin/public/identity_manager/account_capabilities.cc
+++ b/components/signin/public/identity_manager/account_capabilities.cc
@@ -32,9 +32,11 @@
 // static
 const std::vector<std::string>&
 AccountCapabilities::GetSupportedAccountCapabilityNames() {
-  static base::NoDestructor<std::vector<std::string>> kCapabilityNames{
-      {kCanOfferExtendedChromeSyncPromosCapabilityName,
-       kCanRunChromePrivacySandboxTrialsCapabilityName}};
+  static base::NoDestructor<std::vector<std::string>> kCapabilityNames({
+#define ACCOUNT_CAPABILITY(cpp_label, java_label, value) cpp_label,
+#include "components/signin/internal/identity_manager/account_capabilities_list.h"
+#undef ACCOUNT_CAPABILITY
+  });
   return *kCapabilityNames;
 }
 
@@ -67,6 +69,10 @@
   return GetCapabilityByName(kCanRunChromePrivacySandboxTrialsCapabilityName);
 }
 
+signin::Tribool AccountCapabilities::is_subject_to_parental_controls() const {
+  return GetCapabilityByName(kIsSubjectToParentalControlsCapabilityName);
+}
+
 bool AccountCapabilities::UpdateWith(const AccountCapabilities& other) {
   bool modified = false;
 
diff --git a/components/signin/public/identity_manager/account_capabilities.h b/components/signin/public/identity_manager/account_capabilities.h
index 9f85a273..6006382 100644
--- a/components/signin/public/identity_manager/account_capabilities.h
+++ b/components/signin/public/identity_manager/account_capabilities.h
@@ -48,6 +48,9 @@
   // Chrome can run privacy sandbox trials for accounts with this capability.
   signin::Tribool can_run_chrome_privacy_sandbox_trials() const;
 
+  // Chrome applies parental controls to accounts with this capability.
+  signin::Tribool is_subject_to_parental_controls() const;
+
   // Whether none of the capabilities has `signin::Tribool::kUnknown`.
   bool AreAllCapabilitiesKnown() const;
 
diff --git a/components/signin/public/identity_manager/account_capabilities_test_mutator.cc b/components/signin/public/identity_manager/account_capabilities_test_mutator.cc
index c7db63b..3536410 100644
--- a/components/signin/public/identity_manager/account_capabilities_test_mutator.cc
+++ b/components/signin/public/identity_manager/account_capabilities_test_mutator.cc
@@ -30,6 +30,12 @@
       value;
 }
 
+void AccountCapabilitiesTestMutator::set_is_subject_to_parental_controls(
+    bool value) {
+  capabilities_->capabilities_map_[kIsSubjectToParentalControlsCapabilityName] =
+      value;
+}
+
 void AccountCapabilitiesTestMutator::SetAllSupportedCapabilities(bool value) {
   for (const std::string& name :
        AccountCapabilities::GetSupportedAccountCapabilityNames()) {
diff --git a/components/signin/public/identity_manager/account_capabilities_test_mutator.h b/components/signin/public/identity_manager/account_capabilities_test_mutator.h
index 28198b4..182a197 100644
--- a/components/signin/public/identity_manager/account_capabilities_test_mutator.h
+++ b/components/signin/public/identity_manager/account_capabilities_test_mutator.h
@@ -19,6 +19,7 @@
   // Exposes setters for the supported capabilities.
   void set_can_offer_extended_chrome_sync_promos(bool value);
   void set_can_run_chrome_privacy_sandbox_trials(bool value);
+  void set_is_subject_to_parental_controls(bool value);
 
   // Modifies all supported capabilities at once.
   void SetAllSupportedCapabilities(bool value);
diff --git a/components/signin/public/identity_manager/account_capabilities_unittest.cc b/components/signin/public/identity_manager/account_capabilities_unittest.cc
index 81980687..01fc029e 100644
--- a/components/signin/public/identity_manager/account_capabilities_unittest.cc
+++ b/components/signin/public/identity_manager/account_capabilities_unittest.cc
@@ -43,6 +43,21 @@
             signin::Tribool::kFalse);
 }
 
+TEST_F(AccountCapabilitiesTest, IsSubjectToParentalControls) {
+  AccountCapabilities capabilities;
+  EXPECT_EQ(capabilities.is_subject_to_parental_controls(),
+            signin::Tribool::kUnknown);
+
+  AccountCapabilitiesTestMutator mutator(&capabilities);
+  mutator.set_is_subject_to_parental_controls(true);
+  EXPECT_EQ(capabilities.is_subject_to_parental_controls(),
+            signin::Tribool::kTrue);
+
+  mutator.set_is_subject_to_parental_controls(false);
+  EXPECT_EQ(capabilities.is_subject_to_parental_controls(),
+            signin::Tribool::kFalse);
+}
+
 TEST_F(AccountCapabilitiesTest, AreAllCapabilitiesKnown_Empty) {
   AccountCapabilities capabilities;
   EXPECT_FALSE(capabilities.AreAllCapabilitiesKnown());
diff --git a/components/strings/components_strings_bs.xtb b/components/strings/components_strings_bs.xtb
index 5faa38e8..b547454 100644
--- a/components/strings/components_strings_bs.xtb
+++ b/components/strings/components_strings_bs.xtb
@@ -610,7 +610,7 @@
 <translation id="2775884851269838147">Prva stranica za štampanje</translation>
 <translation id="2781692009645368755">Google Pay</translation>
 <translation id="2784949926578158345">Veza je poništena.</translation>
-<translation id="2791176355335562114">Igrajte brže drugi put</translation>
+<translation id="2791176355335562114">Platite brže sljedeći put</translation>
 <translation id="2792012897584536778">Administratori ovog uređaja su postavili sigurnosnu potvrdu koja im može dozvoliti da vide sadržaj web lokacija koje posjećujete.</translation>
 <translation id="2799020568854403057">Web lokacija koja slijedi sadržava štetne aplikacije</translation>
 <translation id="2799223571221894425">Ponovo pokreni</translation>
@@ -1859,7 +1859,7 @@
 <translation id="6825578344716086703">Pokušali ste prići domeni <ph name="DOMAIN" />, ali je server prikazao potvrdu koja je potpisana koristeći slabi algoritam za potpisivanje (kao što je SHA-1). To znači da postoji mogućnost da su sigurnosni akreditivi koje je server prikazao krivotvoreni i da taj server možda nije server koji ste očekivali (možda komunicirate s napadačem).</translation>
 <translation id="6826993739343257035">Dozvoliti AR?</translation>
 <translation id="6831043979455480757">Prevedi</translation>
-<translation id="6833752742582340615">Spremite podatke o kartici i naplati na Google račun za sigurne i brže naplate</translation>
+<translation id="6833752742582340615">Sačuvajte podatke o kartici i naplati na Google račun za siguran i brži nastavak na plaćanje</translation>
 <translation id="6839929833149231406">Područje</translation>
 <translation id="6846340164947227603">Koristi broj virtuelne kartice...</translation>
 <translation id="6852204201400771460">Ponovo učitati aplikaciju?</translation>
diff --git a/components/strings/components_strings_da.xtb b/components/strings/components_strings_da.xtb
index ec8247d..80ea8db 100644
--- a/components/strings/components_strings_da.xtb
+++ b/components/strings/components_strings_da.xtb
@@ -171,6 +171,7 @@
 <translation id="1436185428532214179">Websitet kan anmode om tilladelse til at redigere filer og mapper på din enhed</translation>
 <translation id="1442386063175183758">Portfals i højre side</translation>
 <translation id="1442987760062738829">Hul</translation>
+<translation id="1446396933673057385">Troværdighedstjek</translation>
 <translation id="1447067628680007684">(x86_64)</translation>
 <translation id="1453974140256777690">Tekst, du indsætter eller vedhæfter, sendes til Google Cloud eller tredjeparter, hvor den analyseres. Tekst kan f.eks. blive scannet for følsomme oplysninger.</translation>
 <translation id="1455413310270022028">Viskelæder</translation>
@@ -462,6 +463,7 @@
 <translation id="2318594867107319532">Tidsstempel for seneste opdatering af politik:</translation>
 <translation id="2328651992442742497">Tilladt (standard)</translation>
 <translation id="2329182534073751090">placering af vinduer</translation>
+<translation id="2329473609445770916">Dette website definerer interesser, som andre websites kan bruge til at vise dig annoncer</translation>
 <translation id="2330137317877982892"><ph name="CREDIT_CARD" />, udløber <ph name="EXPIRATION_DATE_ABBR" /></translation>
 <translation id="2337852623177822836">Indstillingen styres af din administrator</translation>
 <translation id="2340263603246777781"><ph name="ORIGIN" /> vil gerne parre</translation>
@@ -741,6 +743,7 @@
 <translation id="3240683217920639535"><ph name="MANAGE_CHROME_THEMES_FOCUSED_FRIENDLY_MATCH_TEXT" />– tryk på Tab-tasten efterfulgt af Enter for at tilpasse din browsers udseende</translation>
 <translation id="3240791268468473923">Regneark uden matchende loginoplysninger til sikker betaling er åbent</translation>
 <translation id="324180406144491771">"<ph name="HOST_NAME" />"-links er blokeret</translation>
+<translation id="3248611290851046188">Dette website definerer interesser, som andre websites kan bruge til at vise dig annoncer. Dette website henter også dine interesser fra Chrome og bruger dem til at vise dig mere relevante annoncer.</translation>
 <translation id="3249845759089040423">Groovy</translation>
 <translation id="3252266817569339921">Fransk</translation>
 <translation id="3259648571731540213"><ph name="CREATE_GOOGLE_CALENDAR_EVENT_FOCUSED_FRIENDLY_MATCH_TEXT" />, tryk på Tab-tasten efterfulgt af Enter for hurtigt at oprette en ny begivenhed i Google Kalender</translation>
@@ -852,6 +855,7 @@
 <translation id="3586931643579894722">Skjul oplysninger</translation>
 <translation id="3587738293690942763">I midten</translation>
 <translation id="3592413004129370115">Italian (Envelope)</translation>
+<translation id="3595645257662173296">Hvilke beviser underbygger oplysningerne?</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Du kan til enhver tid nulstille din gruppe. Det tager ca. en dag at blive medlem af en nye gruppe.}=1{Du kan til enhver tid nulstille din gruppe. Det tager ca. en dag at blive medlem af en nye gruppe.}one{Du kan til enhver tid nulstille din gruppe. Det tager {NUM_DAYS} dag at blive medlem af en ny gruppe.}other{Du kan til enhver tid nulstille din gruppe. Det tager {NUM_DAYS} dage at blive medlem af en ny gruppe.}}</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Appen er blokeret af din administrator</translation>
@@ -1671,6 +1675,7 @@
 <translation id="6165508094623778733">Flere oplysninger</translation>
 <translation id="6167577165590485365">Sidst forsøgt hentet:</translation>
 <translation id="6169916984152623906">Nu kan du gå på nettet privat, og andre brugere på denne enhed kan ikke se din aktivitet. Downloads og bogmærker gemmes dog stadig.</translation>
+<translation id="6176716740821145453">Brug et øjeblik på at overveje troværdigheden</translation>
 <translation id="6177128806592000436">Din forbindelse til dette website er ikke sikker.</translation>
 <translation id="6180316780098470077">Interval for gentagelse af forsøg</translation>
 <translation id="6196640612572343990">Bloker cookies fra tredjeparter</translation>
@@ -1794,6 +1799,7 @@
 <translation id="6615297766614333076">Stabler 2</translation>
 <translation id="6624427990725312378">Kontaktoplysninger</translation>
 <translation id="6626291197371920147">Tilføj gyldigt kortnummer</translation>
+<translation id="6627727261837091711">Vis oplysninger om annoncetilpasning</translation>
 <translation id="6628463337424475685"><ph name="ENGINE" /> -søgning</translation>
 <translation id="6630043285902923878">Finder USB-enheder...</translation>
 <translation id="6630809736994426279">Brugere med ondsindede hensigter, der i øjeblikket er på <ph name="BEGIN_BOLD" /><ph name="SITE" /><ph name="END_BOLD" />, kan forsøge at installere farlige programmer på din Mac, som stjæler eller sletter dine oplysninger (f.eks. fotos, adgangskoder, beskeder og kreditkort). <ph name="BEGIN_LEARN_MORE_LINK" />Få flere oplysninger<ph name="END_LEARN_MORE_LINK" /></translation>
@@ -2064,6 +2070,7 @@
 <translation id="7473891865547856676">Nej tak</translation>
 <translation id="7481312909269577407">Frem</translation>
 <translation id="7485870689360869515">Der blev ikke fundet nogen data.</translation>
+<translation id="7485948220959728508">Hvor stammer disse oplysninger fra?</translation>
 <translation id="7495528107193238112">Dette indhold er blokeret. Kontakt ejeren af websitet for at løse problemet.</translation>
 <translation id="7497998058912824456">Knappen Opret et Google-dokument, tryk på Enter for hurtigt at oprette et nyt Google-dokument</translation>
 <translation id="7506488012654002225">Chromium <ph name="BEGIN_EMPHASIS" />gemmer ikke<ph name="END_EMPHASIS" /> følgende oplysninger:
@@ -2144,6 +2151,7 @@
 <translation id="7682287625158474539">Forsendelse</translation>
 <translation id="7687186412095877299">Udfylder betalingsformularer med dine gemte betalingsmetoder</translation>
 <translation id="7687305263118037187">Forsøg timeout igen</translation>
+<translation id="7687451951329798396">Hvad siger andre kilder?</translation>
 <translation id="7693583928066320343">Rækkefølgen for sider blev modtaget</translation>
 <translation id="7697066736081121494">Prc8 (Envelope)</translation>
 <translation id="769721561045429135">Lige nu har du kort, som kun kan bruges på denne enhed. Klik på Fortsæt for at se kortene.</translation>
@@ -2388,6 +2396,7 @@
 <translation id="8507227106804027148">Kommandolinje</translation>
 <translation id="8508648098325802031">Søgeikon</translation>
 <translation id="8511402995811232419">Administrer cookies</translation>
+<translation id="851353418319061866">Troværdighedstjek</translation>
 <translation id="8519753333133776369">Din administrator har tilladt HID-enheden</translation>
 <translation id="8522552481199248698">Chrome kan hjælpe dig med at beskytte din Google-konto og ændre din adgangskode.</translation>
 <translation id="8530813470445476232">Ryd browserhistorik, cookies, cache m.m. i Chrome-indstillingerne</translation>
diff --git a/components/strings/components_strings_ms.xtb b/components/strings/components_strings_ms.xtb
index ab8ffd9..379a139e 100644
--- a/components/strings/components_strings_ms.xtb
+++ b/components/strings/components_strings_ms.xtb
@@ -574,6 +574,7 @@
 <translation id="2666092431469916601">Atas</translation>
 <translation id="2666117266261740852">Tutup tab atau apl lain</translation>
 <translation id="2672201172023654893">Penyemak imbas anda tidak diurus.</translation>
+<translation id="2673968385134502798">Permainan</translation>
 <translation id="2674170444375937751">Adakah anda pasti anda mahu memadamkan halaman ini daripada sejarah anda?</translation>
 <translation id="2674804415323431591">Sembunyikan cadangan</translation>
 <translation id="2676271551327853224">Roc-8K</translation>
@@ -607,6 +608,7 @@
 <translation id="2775884851269838147">Cetakan halaman pertama</translation>
 <translation id="2781692009645368755">Google Pay</translation>
 <translation id="2784949926578158345">Sambungan ditetapkan semula.</translation>
+<translation id="2791176355335562114">Bayar lebih pantas selepas ini</translation>
 <translation id="2792012897584536778">Pentadbir peranti ini telah menyediakan sijil keselamatan yang mungkin membolehkan mereka melihat kandungan laman web yang anda lawati.</translation>
 <translation id="2799020568854403057">Tapak yang akan disemak imbas mengandungi apl yang memudaratkan</translation>
 <translation id="2799223571221894425">Lancarkan semula</translation>
@@ -1852,6 +1854,7 @@
 <translation id="6825578344716086703">Anda cuba untuk mencapai <ph name="DOMAIN" />, tetapi pelayan memberikan sijil yang ditandatangani menggunakan algoritma tandatangan yang lemah (seperti SHA-1). Ini bermakna bahawa bukti kelayakan keselamatan yang diberi pelayan mungkin dipalsukan dan pelayan tersebut bukan seperti yang anda jangkakan (anda mungkin berkomunikasi dengan penyerang).</translation>
 <translation id="6826993739343257035">Benarkan AR?</translation>
 <translation id="6831043979455480757">Terjemah</translation>
+<translation id="6833752742582340615">Simpan kad dan maklumat pengebilan ke Google Account anda untuk semak keluar yang selamat dan lebih pantas</translation>
 <translation id="6839929833149231406">Kawasan</translation>
 <translation id="6846340164947227603">Gunakan nombor kad maya...</translation>
 <translation id="6852204201400771460">Muat semula apl?</translation>
diff --git a/components/strings/components_strings_pa.xtb b/components/strings/components_strings_pa.xtb
index 6a2e222..6d64dfc 100644
--- a/components/strings/components_strings_pa.xtb
+++ b/components/strings/components_strings_pa.xtb
@@ -171,6 +171,7 @@
 <translation id="1436185428532214179">ਸਾਈਟ ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਵਿਚਲੀਆਂ ਫ਼ਾਈਲਾਂ ਅਤੇ ਫੋਲਡਰਾਂ ਦਾ ਸੰਪਾਦਨ ਕਰਨ ਲਈ ਪੁੱਛ ਸਕਦੀ ਹੈ</translation>
 <translation id="1442386063175183758">ਸੱਜੇ ਪੱਲੇ ਵਾਲੀ ਤਹਿ</translation>
 <translation id="1442987760062738829">ਮੋਰੀ</translation>
+<translation id="1446396933673057385">ਸਟੀਕਤਾ ਦੀ ਜਾਂਚ</translation>
 <translation id="1447067628680007684">(x86_64)</translation>
 <translation id="1453974140256777690">ਤੁਹਾਡੇ ਵੱਲੋਂ ਪੇਸਟ ਜਾਂ ਨੱਥੀ ਕੀਤੀ ਲਿਖਤ ਨੂੰ ਵਿਸ਼ਲੇਸ਼ਣ ਲਈ Google ਕਲਾਊਡ ਜਾਂ ਤੀਜੀਆਂ ਧਿਰਾਂ ਨੂੰ ਭੇਜਿਆ ਜਾਂਦਾ ਹੈ। ਉਦਾਹਰਨ ਲਈ, ਇਸਨੂੰ ਸੰਵੇਦਨਸ਼ੀਲ ਡਾਟੇ ਲਈ ਸਕੈਨ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।</translation>
 <translation id="1455413310270022028">ਰਬੜ</translation>
@@ -458,6 +459,7 @@
 <translation id="2318594867107319532">ਪਿਛਲੀ ਵਾਰ ਨੀਤੀ ਨੂੰ ਰਿਫ੍ਰੈਸ਼ ਕਰਨ ਦਾ ਟਾਈਮਸਟੈਂਪ:</translation>
 <translation id="2328651992442742497">ਇਜਾਜ਼ਤ ਹੈ (ਪੂਰਵ-ਨਿਰਧਾਰਿਤ)</translation>
 <translation id="2329182534073751090">ਵਿੰਡੋ ਪਲੇਸਮੈਂਟ</translation>
+<translation id="2329473609445770916">ਇਹ ਸਾਈਟ ਉਨ੍ਹਾਂ ਦਿਲਚਸਪੀਆਂ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦੀ ਹੈ ਜਿਨ੍ਹਾਂ ਨੂੰ ਹੋਰ ਸਾਈਟਾਂ ਤੁਹਾਨੂੰ ਵਿਗਿਆਪਨ ਦਿਖਾਉਣ ਲਈ ਵਰਤ ਸਕਦੀਆਂ ਹਨ</translation>
 <translation id="2330137317877982892"><ph name="CREDIT_CARD" />, ਮਿਆਦ <ph name="EXPIRATION_DATE_ABBR" /> ਨੂੰ ਸਮਾਪਤ ਹੋਵੇਗੀ</translation>
 <translation id="2337852623177822836">ਸੈਟਿੰਗ ਤੁਹਾਡੇ ਪ੍ਰਸ਼ਾਸਕ ਵੱਲੋਂ ਕੰਟਰੋਲ ਕੀਤੀ ਗਈ</translation>
 <translation id="2340263603246777781"><ph name="ORIGIN" /> ਜੋੜਾਬੱਧ ਕਰਨਾ ਚਾਹੁੰਦੀ ਹੈ</translation>
@@ -735,6 +737,7 @@
 <translation id="3240683217920639535"><ph name="MANAGE_CHROME_THEMES_FOCUSED_FRIENDLY_MATCH_TEXT" />, Tab ਦਬਾ ਕੇ, ਫਿਰ ਆਪਣੇ ਬ੍ਰਾਊਜ਼ਰ ਦੀ ਦਿੱਖ ਨੂੰ ਵਿਉਂਤਬੱਧ ਕਰਨ ਲਈ Enter ਦਬਾਓ</translation>
 <translation id="3240791268468473923">ਭਗਤਾਨ ਕ੍ਰੀਡੈਂਸ਼ੀਅਲ ਨੂੰ ਸੁਰੱਖਿਅਤ ਬਣਾਓ ਕੋਈ ਮੇਲ ਖਾਂਦੇ ਕ੍ਰੀਡੈਂਸ਼ੀਅਲ ਸੰਬੰਧੀ ਸ਼ੀਟ ਖੁੱਲ੍ਹੀ ਨਹੀਂ ਹੈ</translation>
 <translation id="324180406144491771">“<ph name="HOST_NAME" />” ਲਿੰਕਾਂ ਨੂੰ ਬਲਾਕ ਕੀਤਾ ਗਿਆ ਹੈ</translation>
+<translation id="3248611290851046188">ਇਹ ਸਾਈਟ ਉਨ੍ਹਾਂ ਦਿਲਚਸਪੀਆਂ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦੀ ਹੈ ਜਿਨ੍ਹਾਂ ਨੂੰ ਹੋਰ ਸਾਈਟਾਂ ਤੁਹਾਨੂੰ ਵਿਗਿਆਪਨ ਦਿਖਾਉਣ ਲਈ ਵਰਤ ਸਕਦੀਆਂ ਹਨ। ਤੁਹਾਨੂੰ ਜ਼ਿਆਦਾ ਢੁਕਵੇਂ ਵਿਗਿਆਪਨ ਦਿਖਾਉਣ ਲਈ, ਇਹ ਸਾਈਟ Chrome ਤੋਂ ਵੀ ਤੁਹਾਡੀਆਂ ਦਿਲਚਸਪੀਆਂ ਬਾਰੇ ਜਾਣਕਾਰੀ ਲੈਂਦੀ ਹੈ।</translation>
 <translation id="3249845759089040423">ਗਰੂਵੀ</translation>
 <translation id="3252266817569339921">ਫਰੈਂਚ</translation>
 <translation id="3259648571731540213"><ph name="CREATE_GOOGLE_CALENDAR_EVENT_FOCUSED_FRIENDLY_MATCH_TEXT" />, Google Calendar ਵਿੱਚ ਤੇਜ਼ੀ ਨਾਲ ਨਵਾਂ ਇਵੈਂਟ ਬਣਾਉਣ ਲਈ Tab ਦਬਾ ਕੇ ਫਿਰ Enter ਦਬਾਓ</translation>
@@ -846,6 +849,7 @@
 <translation id="3586931643579894722">ਵੇਰਵੇ ਲੁਕਾਓ</translation>
 <translation id="3587738293690942763">ਵਿਚਕਾਰ</translation>
 <translation id="3592413004129370115">ਇਤਾਲਵੀ (ਲਿਫ਼ਾਫ਼ਾ)</translation>
+<translation id="3595645257662173296">ਕਿਹੜਾ ਸਬੂਤ ਇਸ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ?</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{ਤੁਸੀਂ ਕਿਸੇ ਵੀ ਸਮੇਂ ਆਪਣਾ ਗਰੁੱਪ ਰੀਸੈੱਟ ਕਰ ਸਕਦੇ ਹੋ। ਇੱਕ ਨਵੇਂ ਗਰੁੱਪ ਵਿੱਚ ਸ਼ਾਮਲ ਹੋਣ ਲਈ ਲਗਭਗ ਇੱਕ ਦਿਨ ਦਾ ਸਮਾਂ ਲੱਗਦਾ ਹੈ।}=1{ਤੁਸੀਂ ਕਿਸੇ ਵੀ ਸਮੇਂ ਆਪਣਾ ਗਰੁੱਪ ਰੀਸੈੱਟ ਕਰ ਸਕਦੇ ਹੋ। ਇੱਕ ਨਵੇਂ ਗਰੁੱਪ ਵਿੱਚ ਸ਼ਾਮਲ ਹੋਣ ਲਈ ਲਗਭਗ ਇੱਕ ਦਿਨ ਦਾ ਸਮਾਂ ਲੱਗਦਾ ਹੈ।}other{ਤੁਸੀਂ ਕਿਸੇ ਵੀ ਸਮੇਂ ਆਪਣਾ ਗਰੁੱਪ ਰੀਸੈੱਟ ਕਰ ਸਕਦੇ ਹੋ। ਇੱਕ ਨਵੇਂ ਗਰੁੱਪ ਵਿੱਚ ਸ਼ਾਮਲ ਹੋਣ ਲਈ ਲਗਭਗ {NUM_DAYS} ਦਿਨਾਂ ਦਾ ਸਮਾਂ ਲੱਗਦਾ ਹੈ।}}</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਤੁਹਾਡੇ ਪ੍ਰਸ਼ਾਸਕ ਵੱਲੋਂ ਬਲਾਕ ਕੀਤਾ ਗਿਆ</translation>
@@ -1658,6 +1662,7 @@
 <translation id="6165508094623778733">ਹੋਰ ਜਾਣੋ</translation>
 <translation id="6167577165590485365">ਪਿਛਲੀ ਵਾਰ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਦਾ ਸਮਾਂ:</translation>
 <translation id="6169916984152623906">ਹੁਣ ਤੁਸੀਂ ਨਿੱਜੀ ਤੌਰ 'ਤੇ ਬ੍ਰਾਊਜ਼ ਕਰ ਸਕਦੇ ਹੋ, ਅਤੇ ਇਸ ਡੀਵਾਈਸ ਨੂੰ ਵਰਤਣ ਵਾਲੇ ਹੋਰ ਲੋਕਾਂ ਨੂੰ ਤੁਹਾਡੀ ਸਰਗਰਮੀ ਨਹੀਂ ਦਿਖਾਈ ਦੇਵੇਗੀ। ਹਾਲਾਂਕਿ, ਡਾਊਨਲੋਡ ਅਤੇ ਬੁੱਕਮਾਰਕ ਰੱਖਿਅਤ ਕੀਤੇ ਜਾਣਗੇ।</translation>
+<translation id="6176716740821145453">ਕੁਝ ਸਮਾਂ ਬਿਤਾ ਕੇ ਪੰਨੇ ਦੀ ਸਟੀਕਤਾ ਵੱਲ ਧਿਆਨ ਦਿਓ</translation>
 <translation id="6177128806592000436">ਇਸ ਸਾਈਟ ਨਾਲ ਤੁਹਾਡਾ ਕਨੈਕਸ਼ਨ ਸੁਰੱਖਿਅਤ ਨਹੀਂ ਹੈ</translation>
 <translation id="6180316780098470077">ਮੁੜ-ਕੋਸ਼ਿਸ਼ ਅੰਤਰਾਲ</translation>
 <translation id="6196640612572343990">ਤੀਜੀ-ਧਿਰ ਵਾਲੀਆਂ ਕੁੱਕੀਜ਼ ਨੂੰ ਬਲੌਕ ਕਰੋ</translation>
@@ -1781,6 +1786,7 @@
 <translation id="6615297766614333076">ਸਟੈਕਰ 2</translation>
 <translation id="6624427990725312378">ਸੰਪਰਕ ਜਾਣਕਾਰੀ</translation>
 <translation id="6626291197371920147">ਵੈਧ ਕਾਰਡ ਨੰਬਰ ਸ਼ਾਮਲ ਕਰੋ</translation>
+<translation id="6627727261837091711">ਵਿਗਿਆਪਨ ਵਿਅਕਤੀਗਤਕਰਨ ਦੇ ਵੇਰਵੇ ਦਿਖਾਓ</translation>
 <translation id="6628463337424475685"><ph name="ENGINE" /> ਖੋਜ</translation>
 <translation id="6630043285902923878">USB ਡੀਵਾਈਸ ਲੱਭੇ ਜਾ ਰਹੇ ਹਨ...</translation>
 <translation id="6630809736994426279">ਇਸ ਵੇਲੇ <ph name="BEGIN_BOLD" /><ph name="SITE" /><ph name="END_BOLD" /> 'ਤੇ ਮੌਜੂਦ ਹਮਲਾਵਰ ਤੁਹਾਡੇ Mac 'ਤੇ ਅਜਿਹੇ ਖਤਰਨਾਕ ਪ੍ਰੋਗਰਾਮ ਸਥਾਪਤ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਸਕਦੇ ਹਨ, ਜੋ ਤੁਹਾਡੀ ਜਾਣਕਾਰੀ ਚੋਰੀ ਕਰ ਸਕਦੇ ਹਨ ਜਾਂ ਮਿਟਾ ਸਕਦੇ ਹਨ (ਉਦਾਹਰਨ ਲਈ, ਫ਼ੋਟੋਆਂ, ਪਾਸਵਰਡ, ਸੁਨੇਹੇ, ਅਤੇ ਕ੍ਰੈਡਿਟ ਕਾਰਡ)। <ph name="BEGIN_LEARN_MORE_LINK" />ਹੋਰ ਜਾਣੋ<ph name="END_LEARN_MORE_LINK" /></translation>
@@ -2051,6 +2057,7 @@
 <translation id="7473891865547856676">ਨਹੀਂ ਧੰਨਵਾਦ</translation>
 <translation id="7481312909269577407">ਅੱਗੇ ਭੇਜੋ</translation>
 <translation id="7485870689360869515">ਕੋਈ ਡਾਟਾ ਨਹੀਂ ਮਿਲਿਆ।</translation>
+<translation id="7485948220959728508">ਇਸ ਜਾਣਕਾਰੀ ਪਿੱਛੇ ਕੌਣ ਹੈ?</translation>
 <translation id="7495528107193238112">ਇਹ ਸਮੱਗਰੀ ਬਲਾਕ ਕੀਤੀ ਗਈ ਹੈ। ਸਮੱਸਿਆ ਨੂੰ ਠੀਕ ਕਰਨ ਲਈ ਸਾਈਟ ਦੇ ਮਾਲਕ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।</translation>
 <translation id="7497998058912824456">'ਡੌਕ ਬਣਾਓ' ਬਟਨ, ਤੇਜ਼ੀ ਨਾਲ ਨਵਾਂ Google ਡੌਕ ਬਣਾਉਣ ਲਈ Enter ਦਬਾਓ</translation>
 <translation id="7506488012654002225">Chromium ਅੱਗੇ ਦਿੱਤੀ ਜਾਣਕਾਰੀ ਨੂੰ <ph name="BEGIN_EMPHASIS" />ਰੱਖਿਅਤ ਨਹੀਂ ਕਰੇਗਾ<ph name="END_EMPHASIS" />:
@@ -2131,6 +2138,7 @@
 <translation id="7682287625158474539">ਸ਼ਿਪਿੰਗ</translation>
 <translation id="7687186412095877299">ਇਹ ਵਿਸ਼ੇਸ਼ਤਾ ਭੁਗਤਾਨ ਫ਼ਾਰਮਾਂ ਵਿੱਚ ਤੁਹਾਡੀਆਂ ਰੱਖਿਅਤ ਕੀਤੀਆਂ ਭੁਗਤਾਨ ਵਿਧੀਆਂ ਦੀ ਜਾਣਕਾਰੀ ਭਰਦੀ ਹੈ</translation>
 <translation id="7687305263118037187">ਮੁੜ-ਕੋਸ਼ਿਸ਼ ਲਈ ਟਾਈਮ-ਆਊਟ</translation>
+<translation id="7687451951329798396">ਦੂਜੇ ਸਰੋਤ ਕੀ ਕਹਿੰਦੇ ਹਨ?</translation>
 <translation id="7693583928066320343">ਪੰਨਾ ਕ੍ਰਮ ਪ੍ਰਾਪਤ ਹੋਇਆ</translation>
 <translation id="7697066736081121494">Prc8 (ਲਿਫ਼ਾਫ਼ਾ)</translation>
 <translation id="769721561045429135">ਫਿਲਹਾਲ, ਤੁਹਾਡੇ ਕੋਲ ਉਹ ਕਾਰਡ ਹਨ ਜੋ ਸਿਰਫ਼ ਇਸ ਡੀਵਾਈਸ 'ਤੇ ਹੀ ਵਰਤੇ ਜਾ ਸਕਦੇ ਹਨ। ਕਾਰਡਾਂ ਦੀ ਸਮੀਖਿਆ ਲਈ ਜਾਰੀ ਰੱਖੋ 'ਤੇ ਕਲਿੱਕ ਕਰੋ।</translation>
@@ -2375,6 +2383,7 @@
 <translation id="8507227106804027148">ਕਮਾਂਡ ਲਾਈਨ</translation>
 <translation id="8508648098325802031">ਖੋਜ ਪ੍ਰਤੀਕ</translation>
 <translation id="8511402995811232419">ਕੁਕੀਜ਼ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ</translation>
+<translation id="851353418319061866">ਸਟੀਕਤਾ ਦੀ ਜਾਂਚ</translation>
 <translation id="8519753333133776369">ਤੁਹਾਡੇ ਪ੍ਰਸ਼ਾਸਕ ਵੱਲੋਂ HID ਡੀਵਾਈਸ ਦੀ ਆਗਿਆ ਦਿੱਤੀ ਗਈ</translation>
 <translation id="8522552481199248698">Chrome ਤੁਹਾਡੇ Google ਖਾਤੇ ਦੀ ਸੁਰੱਖਿਆ ਕਰਨ ਅਤੇ ਪਾਸਵਰਡ ਬਦਲਣ ਵਿੱਚ ਤੁਹਾਡੀ ਮਦਦ ਕਰ ਸਕਦਾ ਹੈ।</translation>
 <translation id="8530813470445476232">ਆਪਣੇ ਬ੍ਰਾਊਜ਼ਿੰਗ ਇਤਿਹਾਸ, ਕੁਕੀਜ਼, ਕੈਸ਼ੇ ਅਤੇ ਹੋਰ ਚੀਜ਼ਾਂ ਨੂੰ Chrome ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਕਲੀਅਰ ਕਰੋ</translation>
diff --git a/components/strings/components_strings_si.xtb b/components/strings/components_strings_si.xtb
index 7bb7773..f6cef5df 100644
--- a/components/strings/components_strings_si.xtb
+++ b/components/strings/components_strings_si.xtb
@@ -574,6 +574,7 @@
 <translation id="2666092431469916601">ඉහල</translation>
 <translation id="2666117266261740852">අනෙකුත් පටිති හෝ යෙදුම් වසන්න</translation>
 <translation id="2672201172023654893">ඔබේ බ්‍රවුසරය කළමනාකරණය නොකෙරේ.</translation>
+<translation id="2673968385134502798">ක්‍රීඩා</translation>
 <translation id="2674170444375937751">ඔබට ඔබේ ඉතිහාසය වෙතින් මෙම පිටු මැකීමට අවශ්‍ය බව විශ්වාසද?</translation>
 <translation id="2674804415323431591">යෝජනා සඟවන්න</translation>
 <translation id="2676271551327853224">Roc-8K</translation>
@@ -607,6 +608,7 @@
 <translation id="2775884851269838147">පළමු මුද්‍රණ පිටුව</translation>
 <translation id="2781692009645368755">Google Pay</translation>
 <translation id="2784949926578158345">සබඳතාව යළි සැකසිනි.</translation>
+<translation id="2791176355335562114">ඊළඟ වතාවේ වඩාත් වේගයෙන් ගෙවන්න</translation>
 <translation id="2792012897584536778">මෙම උපාංගයේ පරිපාලකයින් ඔවුන්ට ඔබ පැමිණෙන වෙබ් අඩවිවල අන්තර්ගතය බැලීමට ඉඩ සැලසිය හැකි ආරක්‍ෂක සහතික සකසා ඇත.</translation>
 <translation id="2799020568854403057">අඩවිය ඉදිරියේ හානිකර යෙදුම් අඩංගු වේ</translation>
 <translation id="2799223571221894425">නැවත දියත් කරන්න</translation>
@@ -1848,6 +1850,7 @@
 <translation id="6825578344716086703">ඔබ <ph name="DOMAIN" /> වෙත ළඟා වීමට උත්සහ කළ නමුත්, සේවාදායක ලබා දුන් සහතිකය සන්කර ඇත්තේ දුර්වල ඇල්ගොරිතමයක් (SHA-1 වැනි) භාවිතයෙනි. එහි තේරුම සේවාදායකය ලබා දුන් ආරක්ෂක තොරතුරු ව්‍යාජ ඒවා විය හැකි අතර ඔබ සබඳවන්නේ ඔබ බලාපොරොත්තු වන සේවාදායකය සමඟ නොවිය හැක (ඔබ සන්නිවේදනය කරන්නේ ප්‍රහාරකයා සමඟ විය හැක).</translation>
 <translation id="6826993739343257035">AR ඉඩ දෙන්නද?</translation>
 <translation id="6831043979455480757">පරිවර්තනය කරන්න</translation>
+<translation id="6833752742582340615">ආරක්ෂිත සහ වේගවත් ගෙවා පිටවීම් සඳහා ඔබගේ කාඩ්පත සහ බිල්පත් තොරතුරු ඔබගේ Google ගිණුමට සුරකින්න</translation>
 <translation id="6839929833149231406">ප්‍රදේශය</translation>
 <translation id="6846340164947227603">අතත්‍ය කාඩ්පත් අංකයක් භාවිත කරන්න...</translation>
 <translation id="6852204201400771460">යෙදුම නැවත පූරණය කරන්න ද?</translation>
diff --git a/components/strings/components_strings_tr.xtb b/components/strings/components_strings_tr.xtb
index 99151bb..784d4795 100644
--- a/components/strings/components_strings_tr.xtb
+++ b/components/strings/components_strings_tr.xtb
@@ -171,6 +171,7 @@
 <translation id="1436185428532214179">Cihazınızdaki dosyaları veya klasörleri düzenlemek isteyebilir</translation>
 <translation id="1442386063175183758">Sağa doğru iki kırımlı katlama</translation>
 <translation id="1442987760062738829">Delik</translation>
+<translation id="1446396933673057385">Doğruluk kontrolü</translation>
 <translation id="1447067628680007684">(x86_64)</translation>
 <translation id="1453974140256777690">Yapıştırdığınız veya eklediğiniz metin analiz amacıyla Google Cloud ve üçüncü taraflara gönderilir. Dosyalarınızın hassas veriler içerip içermediği kontrol edilir.</translation>
 <translation id="1455413310270022028">Silgi</translation>
@@ -459,6 +460,7 @@
 <translation id="2318594867107319532">Son politika zaman damgası:</translation>
 <translation id="2328651992442742497">İzin veriliyor (varsayılan)</translation>
 <translation id="2329182534073751090">pencere yerleşimi</translation>
+<translation id="2329473609445770916">Bu site, diğer sitelerin size reklam göstermek için kullanabileceği ilgi alanlarını belirler</translation>
 <translation id="2330137317877982892"><ph name="CREDIT_CARD" /> için kullanım süresi sonu: <ph name="EXPIRATION_DATE_ABBR" /></translation>
 <translation id="2337852623177822836">Ayar yöneticinizin kontrolü altındadır</translation>
 <translation id="2340263603246777781"><ph name="ORIGIN" /> eşlenmek istiyor</translation>
@@ -736,6 +738,7 @@
 <translation id="3240683217920639535"><ph name="MANAGE_CHROME_THEMES_FOCUSED_FRIENDLY_MATCH_TEXT" />, Tarayıcınızın görünümünü özelleştirmek için sekmeye, ardından Enter'a basın</translation>
 <translation id="3240791268468473923">Eşleşmeyen güvenli ödeme kimlik bilgisi sayfası açıldı</translation>
 <translation id="324180406144491771">"<ph name="HOST_NAME" />" bağlantıları engellenmiş</translation>
+<translation id="3248611290851046188">Bu site, diğer sitelerin size reklam göstermek için kullanabileceği ilgi alanlarını belirler. Bu site, size daha alakalı reklamlar göstermek için Chrome'dan ilgi alanlarınızı öğrenir</translation>
 <translation id="3249845759089040423">Modern</translation>
 <translation id="3252266817569339921">Fransızca</translation>
 <translation id="3259648571731540213"><ph name="CREATE_GOOGLE_CALENDAR_EVENT_FOCUSED_FRIENDLY_MATCH_TEXT" />, Google Takvim'de hızlıca yeni bir etkinlik oluşturmak için Sekme'ye, ardından Enter'a basın</translation>
@@ -847,6 +850,7 @@
 <translation id="3586931643579894722">Ayrıntıları gizle</translation>
 <translation id="3587738293690942763">Orta</translation>
 <translation id="3592413004129370115">Italian (Zarf)</translation>
+<translation id="3595645257662173296">Bunu destekleyen kanıtlar neler?</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Grubunuzu istediğiniz zaman sıfırlayabilirsiniz. Yeni bir gruba katılmak yaklaşık bir gün sürer.}=1{Grubunuzu istediğiniz zaman sıfırlayabilirsiniz. Yeni bir gruba katılmak yaklaşık bir gün sürer.}other{Grubunuzu istediğiniz zaman sıfırlayabilirsiniz. Yeni bir gruba katılmak yaklaşık {NUM_DAYS} gün sürer.}}</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Uygulama, yöneticiniz tarafından engellendi</translation>
@@ -1662,6 +1666,7 @@
 <translation id="6165508094623778733">Daha fazla bilgi</translation>
 <translation id="6167577165590485365">Son getirme girişimi:</translation>
 <translation id="6169916984152623906">Artık gizli olarak göz atabilirsiniz ve bu cihazı kullanan diğer kişiler etkinliğinizi görmez. Yine de indirdikleriniz ve yer işaretleri kaydedilir.</translation>
+<translation id="6176716740821145453">Bilgilerin doğruluğunu düşünmek için bir dakikanızı ayırın</translation>
 <translation id="6177128806592000436">Bu siteye bağlantınız güvenli değil</translation>
 <translation id="6180316780098470077">Deneme aralığı</translation>
 <translation id="6196640612572343990">Üçüncü taraf çerezlerini engelle</translation>
@@ -1785,6 +1790,7 @@
 <translation id="6615297766614333076">Yığınlayıcı 2</translation>
 <translation id="6624427990725312378">İletişim Bilgileri</translation>
 <translation id="6626291197371920147">Geçerli kart numarası ekle</translation>
+<translation id="6627727261837091711">Reklam kişiselleştirme ayrıntılarını göster</translation>
 <translation id="6628463337424475685"><ph name="ENGINE" /> Arama</translation>
 <translation id="6630043285902923878">USB cihazlar bulunuyor...</translation>
 <translation id="6630809736994426279">Şu anda <ph name="BEGIN_BOLD" /><ph name="SITE" /><ph name="END_BOLD" /> sitesindeki saldırganlar bilgilerinizi (örneğin, fotoğraflar, şifreler, mesajlar ve kredi kartları) çalabilecek veya silebilecek tehlikeli programları Mac'inize yüklemeye çalışabilir. <ph name="BEGIN_LEARN_MORE_LINK" />Daha fazla bilgi<ph name="END_LEARN_MORE_LINK" /></translation>
@@ -2054,6 +2060,7 @@
 <translation id="7473891865547856676">Hayır, Teşekkürler</translation>
 <translation id="7481312909269577407">İleri</translation>
 <translation id="7485870689360869515">Hiçbir veri bulunamadı.</translation>
+<translation id="7485948220959728508">Bu bilginin kaynağı kim?</translation>
 <translation id="7495528107193238112">Bu içerik engellenmiştir. Sorunu gidermek için site sahibiyle iletişime geçin.</translation>
 <translation id="7497998058912824456">Doküman oluştur düğmesi, hızlıca yeni bir Google Dokümanı oluşturmak için Enter'a basın</translation>
 <translation id="7506488012654002225">Chromium aşağıdaki bilgileri <ph name="BEGIN_EMPHASIS" />kaydetmez<ph name="END_EMPHASIS" />:
@@ -2134,6 +2141,7 @@
 <translation id="7682287625158474539">Sevkiyat</translation>
 <translation id="7687186412095877299">Ödeme formlarını kayıtlı ödeme yöntemlerinizle doldurur</translation>
 <translation id="7687305263118037187">Tekrar deneme zaman aşımı</translation>
+<translation id="7687451951329798396">Diğer kaynaklar ne diyor?</translation>
 <translation id="7693583928066320343">Sayfa sırası alındı</translation>
 <translation id="7697066736081121494">Prc8 (Zarf)</translation>
 <translation id="769721561045429135">Şu anda, yalnızca bu cihazda kullanılabilen kartlarınız var. Kartları incelemek için Devam'ı tıklayın.</translation>
@@ -2378,6 +2386,7 @@
 <translation id="8507227106804027148">Komut satırı</translation>
 <translation id="8508648098325802031">Arama simgesi</translation>
 <translation id="8511402995811232419">Çerezleri yönet</translation>
+<translation id="851353418319061866">Doğruluk Kontrolü</translation>
 <translation id="8519753333133776369">Yöneticiniz tarafından HID cihazlara izin verilmiştir</translation>
 <translation id="8522552481199248698">Chrome, Google Hesabınızı korumanıza ve şifrenizi değiştirmenize yardımcı olabilir.</translation>
 <translation id="8530813470445476232">Chrome ayarlarında tarama geçmişinizi, çerezleri, önbelleği ve diğer öğeleri temizleyin</translation>
diff --git a/components/strings/components_strings_uk.xtb b/components/strings/components_strings_uk.xtb
index 3c720b00..cc690f00 100644
--- a/components/strings/components_strings_uk.xtb
+++ b/components/strings/components_strings_uk.xtb
@@ -171,6 +171,7 @@
 <translation id="1436185428532214179">Може просити дозвіл змінювати файли та папки на пристрої</translation>
 <translation id="1442386063175183758">Зігнути за типом "ворота праворуч"</translation>
 <translation id="1442987760062738829">Пробити отвір</translation>
+<translation id="1446396933673057385">Перевірка достовірності</translation>
 <translation id="1447067628680007684">(x86_64)</translation>
 <translation id="1453974140256777690">Текст, який ви вставляєте або долучаєте, надсилається на платформу Google Cloud або стороннім сервісам на аналіз. Наприклад, його можуть сканувати на наявність конфіденційних даних.</translation>
 <translation id="1455413310270022028">Гумка</translation>
@@ -462,6 +463,7 @@
 <translation id="2318594867107319532">Остання позначка часу для правила:</translation>
 <translation id="2328651992442742497">Дозволено (за умовчанням)</translation>
 <translation id="2329182534073751090">розміщення вікон</translation>
+<translation id="2329473609445770916">Цей сайт визначає інтереси, які можуть використовувати інші сайти для показу оголошень</translation>
 <translation id="2330137317877982892"><ph name="CREDIT_CARD" />, діє до <ph name="EXPIRATION_DATE_ABBR" /></translation>
 <translation id="2337852623177822836">Налаштуванням керує ваш адміністратор</translation>
 <translation id="2340263603246777781">Сайт <ph name="ORIGIN" /> хоче підключитися до пристрою</translation>
@@ -739,6 +741,7 @@
 <translation id="3240683217920639535"><ph name="MANAGE_CHROME_THEMES_FOCUSED_FRIENDLY_MATCH_TEXT" />; натисніть Tab, а потім – Enter, щоб налаштувати вигляд веб-переглядача</translation>
 <translation id="3240791268468473923">Відкрито нижній екран невідповідності облікових даних для безпечних платежів</translation>
 <translation id="324180406144491771">Посилання <ph name="HOST_NAME" /> заблоковано</translation>
+<translation id="3248611290851046188">Цей сайт визначає інтереси, які можуть використовувати інші сайти для показу оголошень. Цей сайт також використовує дані про ваші інтереси з Chrome, щоб показувати вам доречнішу рекламу.</translation>
 <translation id="3249845759089040423">Чудовий</translation>
 <translation id="3252266817569339921">Французька</translation>
 <translation id="3259648571731540213"><ph name="CREATE_GOOGLE_CALENDAR_EVENT_FOCUSED_FRIENDLY_MATCH_TEXT" />; натисніть Tab, а потім – Enter, щоб швидко створити нову подію в Google Календарі</translation>
@@ -850,6 +853,7 @@
 <translation id="3586931643579894722">Сховати докладні дані</translation>
 <translation id="3587738293690942763">Середній</translation>
 <translation id="3592413004129370115">Italian (конверт)</translation>
+<translation id="3595645257662173296">Які є докази?</translation>
 <translation id="3595699422137460894">{NUM_DAYS,plural, =0{Ви можете будь-коли скинути цю групу. Перехід у нову групу займає приблизно один день.}=1{Ви можете будь-коли скинути цю групу. Перехід у нову групу займає приблизно один день.}one{Ви можете будь-коли скинути цю групу. Перехід у нову групу займає {NUM_DAYS} день.}few{Ви можете будь-коли скинути цю групу. Перехід у нову групу займає {NUM_DAYS} дні.}many{Ви можете будь-коли скинути цю групу. Перехід у нову групу займає {NUM_DAYS} днів.}other{Ви можете будь-коли скинути цю групу. Перехід у нову групу займає {NUM_DAYS} дня.}}</translation>
 <translation id="3600246354004376029"><ph name="TITLE" />, <ph name="DOMAIN" />, <ph name="TIME" /></translation>
 <translation id="3603507503523709">Додаток заблоковано адміністратором</translation>
@@ -1669,6 +1673,7 @@
 <translation id="6165508094623778733">Докладніше</translation>
 <translation id="6167577165590485365">Остання спроба отримання:</translation>
 <translation id="6169916984152623906">Тепер ви можете переглядати вміст анонімно. Інші користувачі вашого пристрою не бачитимуть дані про вашу активність. Однак завантаження та закладки зберігатимуться.</translation>
+<translation id="6176716740821145453">Оцінюйте наведену тут інформацію критично</translation>
 <translation id="6177128806592000436">Ваше з’єднання з цим сайтом не захищене</translation>
 <translation id="6180316780098470077">Інтервал між повторними спробами</translation>
 <translation id="6196640612572343990">Блокувати сторонні файли cookie</translation>
@@ -1792,6 +1797,7 @@
 <translation id="6615297766614333076">Накопичувач 2</translation>
 <translation id="6624427990725312378">Контактна інформація</translation>
 <translation id="6626291197371920147">Додати дійсний номер картки</translation>
+<translation id="6627727261837091711">Показати відомості про персоналізацію реклами</translation>
 <translation id="6628463337424475685">Пошук <ph name="ENGINE" /></translation>
 <translation id="6630043285902923878">Пошук пристроїв USB…</translation>
 <translation id="6630809736994426279">Зловмисники можуть використати сайт <ph name="BEGIN_BOLD" /><ph name="SITE" /><ph name="END_BOLD" />, щоб установити на ваш комп’ютер Mac небезпечні програми, що викрадають або видаляють інформацію (фотографії, паролі, повідомленняб дані кредитних карток тощо). <ph name="BEGIN_LEARN_MORE_LINK" />Докладніше<ph name="END_LEARN_MORE_LINK" /></translation>
@@ -2061,6 +2067,7 @@
 <translation id="7473891865547856676">Ні, дякую</translation>
 <translation id="7481312909269577407">Переслати</translation>
 <translation id="7485870689360869515">Даних не знайдено.</translation>
+<translation id="7485948220959728508">Звідки надійшла ця інформація?</translation>
 <translation id="7495528107193238112">Підключення заблоковано. Щоб вирішити проблему, зв'яжіться з власником сайту.</translation>
 <translation id="7497998058912824456">Кнопка "Створити документ"; натисніть Enter, щоб швидко створити новий документ Google</translation>
 <translation id="7506488012654002225">Chromium <ph name="BEGIN_EMPHASIS" />не зберігатиме<ph name="END_EMPHASIS" />:
@@ -2141,6 +2148,7 @@
 <translation id="7682287625158474539">Адреса для надсилання</translation>
 <translation id="7687186412095877299">Заповнює платіжні форми, використовуючи збережені способи оплати</translation>
 <translation id="7687305263118037187">Час для повторної спроби минув</translation>
+<translation id="7687451951329798396">Яку інформацію подають інші джерела?</translation>
 <translation id="7693583928066320343">Порядок сторінок отримано</translation>
 <translation id="7697066736081121494">Prc8 (конверт)</translation>
 <translation id="769721561045429135">Зараз у вас є картки, які можна використовувати лише на цьому пристрої. Натисніть "Продовжити", щоб переглянути їх.</translation>
@@ -2385,6 +2393,7 @@
 <translation id="8507227106804027148">Командний рядок</translation>
 <translation id="8508648098325802031">Значок пошуку</translation>
 <translation id="8511402995811232419">Керувати файлами cookie</translation>
+<translation id="851353418319061866">Перевірка достовірності</translation>
 <translation id="8519753333133776369">Адміністратор дозволив цей пристрій HID</translation>
 <translation id="8522552481199248698">Chrome допоможе захистити обліковий запис Google і змінити пароль.</translation>
 <translation id="8530813470445476232">Очистити історію веб-перегляду, файли cookie, кеш та інше в налаштуваннях Chrome</translation>
diff --git a/components/strings/components_strings_ur.xtb b/components/strings/components_strings_ur.xtb
index b4d1179..e56cf2ad 100644
--- a/components/strings/components_strings_ur.xtb
+++ b/components/strings/components_strings_ur.xtb
@@ -577,6 +577,7 @@
 <translation id="2666092431469916601">سرفہرست</translation>
 <translation id="2666117266261740852">دیگر ٹیبز یا ایپس کو بند کریں</translation>
 <translation id="2672201172023654893">آپ کا براؤزر نظم کردہ نہیں ہے۔</translation>
+<translation id="2673968385134502798">گیمز</translation>
 <translation id="2674170444375937751">کیا آپ واقعی ان صفحات کو اپنی سرگزشت سے حذف کرنا چاہتے ہیں؟</translation>
 <translation id="2674804415323431591">تجاویز چھپائیں</translation>
 <translation id="2676271551327853224">Roc-8K</translation>
@@ -610,6 +611,7 @@
 <translation id="2775884851269838147">پہلا پرنٹ صفحہ</translation>
 <translation id="2781692009645368755">Google Pay</translation>
 <translation id="2784949926578158345">کنکشن ری سیٹ ہو گیا تھا۔</translation>
+<translation id="2791176355335562114">اگلی بار تیزی سے ادائیگی کریں</translation>
 <translation id="2792012897584536778">اس آلہ کے منتظمین نے سیکیورٹی سرٹیفکیٹس سیٹ کیے ہیں جو انہیں آپ کی ملاحظہ کردہ ویب سائٹس کا مواد دیکھنے کی اجازت دے سکتے ہیں۔</translation>
 <translation id="2799020568854403057">آگے کی سائٹ نقصاندہ ایپس پر مشتمل ہے</translation>
 <translation id="2799223571221894425">دوبارہ شروع کریں</translation>
@@ -1860,6 +1862,7 @@
 <translation id="6825578344716086703">‏آپ نے <ph name="DOMAIN" /> تک پہنچنے کی کوشش کی، لیکن سرور نے ایک کمزور دستخط الگورتھم (جیسے SHA-1) استعمال کرتے ہوئے دستخط کردہ سرٹیفیکیٹ پیش کیا۔ اس کا مطلب یہ ہے کہ شاید سرور کی پیش کردہ سیکیورٹی اسناد میں جعل سازی کی گئی ہے اور ممکن ہے کہ سرور آپ کا متوقع سرور نہ ہو (ممکن ہے آپ کسی حملہ آور کے ساتھ مواصلت کر رہے ہوں)۔</translation>
 <translation id="6826993739343257035">‏AR کی اجازت دیں؟</translation>
 <translation id="6831043979455480757">ترجمہ کریں</translation>
+<translation id="6833752742582340615">‏محفوظ اور تیز چیک آؤٹس کے لیے اپنے کارڈ اور بلنگ کی معلومات کو اپنے Google اکاؤنٹ میں محفوظ کریں</translation>
 <translation id="6839929833149231406">علاقہ</translation>
 <translation id="6846340164947227603">ورچوئل کارڈ نمبر استعمال کریں...</translation>
 <translation id="6852204201400771460">ایپ دوبارہ لوڈ کریں؟</translation>
diff --git a/components/strings/components_strings_vi.xtb b/components/strings/components_strings_vi.xtb
index 1f2eacd..f0323af 100644
--- a/components/strings/components_strings_vi.xtb
+++ b/components/strings/components_strings_vi.xtb
@@ -574,6 +574,7 @@
 <translation id="2666092431469916601">Hàng đầu</translation>
 <translation id="2666117266261740852">Đóng các thẻ hoặc ứng dụng khác</translation>
 <translation id="2672201172023654893">Trình duyệt của bạn không được quản lý.</translation>
+<translation id="2673968385134502798">Trò chơi</translation>
 <translation id="2674170444375937751">Bạn có chắc chắn muốn xóa những trang này khỏi lịch sử duyệt web của mình không?</translation>
 <translation id="2674804415323431591">Ẩn các đề xuất</translation>
 <translation id="2676271551327853224">Roc-8K</translation>
@@ -607,6 +608,7 @@
 <translation id="2775884851269838147">Trang in đầu tiên</translation>
 <translation id="2781692009645368755">Google Pay</translation>
 <translation id="2784949926578158345">Kết nối đã được đặt lại.</translation>
+<translation id="2791176355335562114">Thanh toán nhanh hơn về sau</translation>
 <translation id="2792012897584536778">Các quản trị viên của thiết bị này đã thiết lập các chứng chỉ bảo mật có thể cho phép họ xem nội dung của những trang web bạn truy cập.</translation>
 <translation id="2799020568854403057">Trang web bạn sắp truy cập chứa ứng dụng có hại</translation>
 <translation id="2799223571221894425">Chạy lại</translation>
@@ -1851,6 +1853,7 @@
 <translation id="6825578344716086703">Bạn đã cố gắng truy cập vào <ph name="DOMAIN" /> nhưng máy chủ xuất trình một chứng chỉ được ký bằng một thuật toán chữ ký yếu (chẳng hạn như SHA-1). Điều này có nghĩa là thông tin đăng nhập bảo mật mà máy chủ xuất trình có thể đã bị giả mạo và máy chủ đó có thể không phải là máy chủ mà bạn mong đợi (bạn có thể đang kết nối với kẻ tấn công).</translation>
 <translation id="6826993739343257035">Cho phép môi trường Thực tế tăng cường?</translation>
 <translation id="6831043979455480757">Dịch</translation>
+<translation id="6833752742582340615">Lưu thông tin thẻ và thông tin thanh toán vào Tài khoản Google để thanh toán an toàn và nhanh hơn</translation>
 <translation id="6839929833149231406">Vùng</translation>
 <translation id="6846340164947227603">Dùng số thẻ ảo...</translation>
 <translation id="6852204201400771460">Tải lại ứng dụng?</translation>
diff --git a/components/sync/base/command_line_switches.h b/components/sync/base/command_line_switches.h
index 868644a..8ef7d1a 100644
--- a/components/sync/base/command_line_switches.h
+++ b/components/sync/base/command_line_switches.h
@@ -14,11 +14,6 @@
 inline constexpr char kSyncDeferredStartupTimeoutSeconds[] =
     "sync-deferred-startup-timeout-seconds";
 
-// Enables deferring sync backend initialization until user initiated changes
-// occur.
-inline constexpr char kSyncDisableDeferredStartup[] =
-    "sync-disable-deferred-startup";
-
 // Controls whether the initial state of the "Capture Specifics" flag on
 // chrome://sync-internals is enabled.
 inline constexpr char kSyncIncludeSpecificsInProtocolLog[] =
diff --git a/components/sync/driver/startup_controller.cc b/components/sync/driver/startup_controller.cc
index eb7f633..df8a28bb 100644
--- a/components/sync/driver/startup_controller.cc
+++ b/components/sync/driver/startup_controller.cc
@@ -41,11 +41,6 @@
   return kDefaultDeferredInitDelay;
 }
 
-bool IsDeferredStartupEnabled() {
-  return !base::CommandLine::ForCurrentProcess()->HasSwitch(
-      kSyncDisableDeferredStartup);
-}
-
 }  // namespace
 
 StartupController::StartupController(
@@ -89,7 +84,7 @@
     start_up_time_ = base::Time::Now();
   }
 
-  if (deferred_option == STARTUP_DEFERRED && IsDeferredStartupEnabled() &&
+  if (deferred_option == STARTUP_DEFERRED &&
       get_preferred_data_types_callback_.Run().Has(SESSIONS)) {
     if (first_start) {
       base::SequencedTaskRunnerHandle::Get()->PostDelayedTask(
@@ -157,8 +152,6 @@
 }
 
 void StartupController::OnFallbackStartupTimerExpired() {
-  DCHECK(IsDeferredStartupEnabled());
-
   if (!start_engine_time_.is_null()) {
     return;
   }
@@ -224,12 +217,6 @@
 }
 
 void StartupController::OnDataTypeRequestsSyncStartup(ModelType type) {
-  if (!IsDeferredStartupEnabled()) {
-    DVLOG(2) << "Ignoring data type request for sync startup: "
-             << ModelTypeToDebugString(type);
-    return;
-  }
-
   if (!start_engine_time_.is_null()) {
     return;
   }
diff --git a/components/sync_device_info/device_info_util.cc b/components/sync_device_info/device_info_util.cc
index 4b82761..a0f5e9d 100644
--- a/components/sync_device_info/device_info_util.cc
+++ b/components/sync_device_info/device_info_util.cc
@@ -6,9 +6,8 @@
 
 #include <algorithm>
 
-#include "base/feature_list.h"
-#include "base/metrics/field_trial_params.h"
 #include "base/strings/string_util.h"
+#include "base/time/time.h"
 #include "components/sync/protocol/device_info_specifics.pb.h"
 
 namespace syncer {
@@ -18,14 +17,8 @@
 
 namespace {
 
-// Feature flag for configuring the pulse interval.
-// TODO(crbug.com/1045940): Remove this when the experiment concludes.
-const base::Feature kPulseInterval{"PulseInterval",
-                                   base::FEATURE_DISABLED_BY_DEFAULT};
-
 // The delay between periodic updates to the entry corresponding to this device.
-const base::FeatureParam<int> kPulseIntervalMinutes = {
-    &kPulseInterval, "PulseIntervalMinutes", 1440};  // 1 day
+const base::TimeDelta kPulseInterval = base::Days(1);
 
 base::TimeDelta Age(const base::Time last_update, const base::Time now) {
   // Don't allow negative age for things somehow updated in the future.
@@ -36,7 +29,7 @@
 
 // static
 base::TimeDelta DeviceInfoUtil::GetPulseInterval() {
-  return base::Minutes(kPulseIntervalMinutes.Get());
+  return kPulseInterval;
 }
 
 // static
diff --git a/content/browser/attribution_reporting/attribution_data_host_manager_impl.cc b/content/browser/attribution_reporting/attribution_data_host_manager_impl.cc
index 256fbb61..6e30baa 100644
--- a/content/browser/attribution_reporting/attribution_data_host_manager_impl.cc
+++ b/content/browser/attribution_reporting/attribution_data_host_manager_impl.cc
@@ -53,6 +53,9 @@
   int count = receiver_data.num_data_registered;
   DCHECK_GE(count, 0);
 
+  if (count == 0)
+    return;
+
   if (receiver_data.source_declared_destination_origin.opaque()) {
     base::UmaHistogramExactLinear("Conversions.RegisteredTriggersPerDataHost",
                                   count, 101);
diff --git a/content/browser/attribution_reporting/attribution_data_host_manager_impl_unittest.cc b/content/browser/attribution_reporting/attribution_data_host_manager_impl_unittest.cc
index 9cebe6f0..8c9ccbe 100644
--- a/content/browser/attribution_reporting/attribution_data_host_manager_impl_unittest.cc
+++ b/content/browser/attribution_reporting/attribution_data_host_manager_impl_unittest.cc
@@ -100,8 +100,8 @@
 
   data_host_manager_.reset();
 
-  histograms.ExpectBucketCount("Conversions.RegisteredSourcesPerDataHost", 1,
-                               1);
+  histograms.ExpectUniqueSample("Conversions.RegisteredSourcesPerDataHost", 1,
+                                1);
 }
 
 TEST_F(AttributionDataHostManagerImplTest,
@@ -166,11 +166,8 @@
 
   data_host_manager_.reset();
 
-  histograms.ExpectBucketCount("Conversions.RegisteredSourcesPerDataHost", 1,
-                               3);
-  // Untrustworthy source origin doesn't register data host.
-  histograms.ExpectBucketCount("Conversions.RegisteredSourcesPerDataHost", 0,
-                               2);
+  histograms.ExpectUniqueSample("Conversions.RegisteredSourcesPerDataHost", 1,
+                                3);
 }
 
 TEST_F(AttributionDataHostManagerImplTest,
@@ -297,8 +294,8 @@
 
   data_host_manager_.reset();
 
-  histograms.ExpectBucketCount("Conversions.RegisteredSourcesPerDataHost", 2,
-                               1);
+  histograms.ExpectUniqueSample("Conversions.RegisteredSourcesPerDataHost", 2,
+                                1);
 }
 
 TEST_F(AttributionDataHostManagerImplTest,
@@ -487,11 +484,8 @@
 
   data_host_manager_.reset();
 
-  histograms.ExpectBucketCount("Conversions.RegisteredTriggersPerDataHost", 1,
-                               3);
-  // Untrustworthy destination origin doesn't register data host.
-  histograms.ExpectBucketCount("Conversions.RegisteredTriggersPerDataHost", 0,
-                               1);
+  histograms.ExpectUniqueSample("Conversions.RegisteredTriggersPerDataHost", 1,
+                                3);
 }
 
 TEST_F(AttributionDataHostManagerImplTest,
@@ -693,8 +687,8 @@
   data_host_manager_.reset();
 
   histograms.ExpectTotalCount("Conversions.RegisteredSourcesPerDataHost", 0);
-  histograms.ExpectBucketCount("Conversions.RegisteredTriggersPerDataHost", 3,
-                               1);
+  histograms.ExpectUniqueSample("Conversions.RegisteredTriggersPerDataHost", 3,
+                                1);
 }
 
 TEST_F(AttributionDataHostManagerImplTest,
@@ -756,8 +750,8 @@
 
   data_host_manager_.reset();
 
-  histograms.ExpectBucketCount("Conversions.RegisteredSourcesPerDataHost", 3,
-                               1);
+  histograms.ExpectUniqueSample("Conversions.RegisteredSourcesPerDataHost", 3,
+                                1);
   histograms.ExpectTotalCount("Conversions.RegisteredTriggersPerDataHost", 0);
 }
 
@@ -812,6 +806,8 @@
 // `AttributionDataHostManagerImpl::OnDataHostDisconnected()` when a data host
 // is registered but disconnects before registering a source or trigger.
 TEST_F(AttributionDataHostManagerImplTest, NoSourceOrTrigger) {
+  base::HistogramTester histograms;
+
   auto page_origin = url::Origin::Create(GURL("https://page.example"));
 
   mojo::Remote<blink::mojom::AttributionDataHost> data_host_remote;
@@ -819,6 +815,11 @@
       data_host_remote.BindNewPipeAndPassReceiver(), page_origin);
   data_host_remote.reset();
   task_environment_.RunUntilIdle();
+
+  data_host_manager_.reset();
+
+  histograms.ExpectTotalCount("Conversions.RegisteredSourcesPerDataHost", 0);
+  histograms.ExpectTotalCount("Conversions.RegisteredTriggersPerDataHost", 0);
 }
 
 }  // namespace content
diff --git a/content/browser/attribution_reporting/attribution_internals_browsertest.cc b/content/browser/attribution_reporting/attribution_internals_browsertest.cc
index bee669d..1dbc65a 100644
--- a/content/browser/attribution_reporting/attribution_internals_browsertest.cc
+++ b/content/browser/attribution_reporting/attribution_internals_browsertest.cc
@@ -975,6 +975,7 @@
             table.children[0].children[3].innerText ===
               "https://report.test/.well-known/attribution-reporting/report-aggregate-attribution" &&
             table.children[0].children[7].innerText === "Pending" &&
+            table.children[0].children[6].innerText === '[\n {\n  "keyHighBits": "0",\n  "keyLowBits": "1",\n  "value": 2\n }\n]' &&
             table.children[1].children[7].innerText === "Dropped due to insufficient aggregatable budget" &&
             table.children[2].children[7].innerText === "No report capacity for destination site" &&
             table.children[3].children[7].innerText === "Sent: HTTP 200" &&
diff --git a/content/browser/loader/navigation_early_hints_browsertest.cc b/content/browser/loader/navigation_early_hints_browsertest.cc
index ba6ec1d..4213c80 100644
--- a/content/browser/loader/navigation_early_hints_browsertest.cc
+++ b/content/browser/loader/navigation_early_hints_browsertest.cc
@@ -561,7 +561,7 @@
   EXPECT_TRUE(preloads.empty());
 }
 
-IN_PROC_BROWSER_TEST_F(NavigationEarlyHintsTest, DuplicatePreloads) {
+IN_PROC_BROWSER_TEST_F(NavigationEarlyHintsTest, MultipleEarlyHints) {
   RegisterHintedScriptResource();
   RegisterHintedStylesheetResource();
 
@@ -569,6 +569,7 @@
   entry.body = kPageWithHintedScriptBody;
 
   // Set two Early Hints responses which contain duplicate preload link headers.
+  // The second response should be ignored.
   HeaderField script_link_header = CreatePreloadLinkForScript();
   HeaderField stylesheet_link_header = CreatePreloadLinkForStylesheet();
   entry.AddEarlyHints({script_link_header});
@@ -579,13 +580,13 @@
       net::QuicSimpleTestServer::GetFileURL(kPageWithHintedScriptPath),
       "Done"));
   PreloadedResources preloads = WaitForPreloadedResources();
-  EXPECT_EQ(preloads.size(), 2UL);
+  EXPECT_EQ(preloads.size(), 1UL);
 
   GURL script_url = net::QuicSimpleTestServer::GetFileURL(kHintedScriptPath);
   GURL stylesheet_url =
       net::QuicSimpleTestServer::GetFileURL(kHintedStylesheetPath);
   EXPECT_TRUE(preloads.contains(script_url));
-  EXPECT_TRUE(preloads.contains(stylesheet_url));
+  EXPECT_FALSE(preloads.contains(stylesheet_url));
 }
 
 const char kPageWithCrossOriginScriptPage[] =
@@ -759,6 +760,15 @@
                   ->WasResourceHintsReceived());
 }
 
+IN_PROC_BROWSER_TEST_F(NavigationEarlyHintsTest, InvalidHeader_NewLine) {
+  const std::string kPath = "/header-contains-newline.html";
+  ResponseEntry entry(kPath, net::HTTP_OK);
+  entry.AddEarlyHints({HeaderField("invalid-header", "foo\r\nbar")});
+  RegisterResponse(entry);
+  EXPECT_FALSE(
+      NavigateToURL(shell(), net::QuicSimpleTestServer::GetFileURL(kPath)));
+}
+
 class NavigationEarlyHintsAddressSpaceTest : public NavigationEarlyHintsTest {
  public:
   NavigationEarlyHintsAddressSpaceTest() = default;
diff --git a/content/browser/loader/navigation_early_hints_manager.cc b/content/browser/loader/navigation_early_hints_manager.cc
index 9291acd5..d748bdf2 100644
--- a/content/browser/loader/navigation_early_hints_manager.cc
+++ b/content/browser/loader/navigation_early_hints_manager.cc
@@ -424,6 +424,16 @@
 void NavigationEarlyHintsManager::HandleEarlyHints(
     network::mojom::EarlyHintsPtr early_hints,
     const network::ResourceRequest& request_for_navigation) {
+  // Ignore the second and subsequent responses to avoid situations where
+  // policies such as CSP are inconsistent among the first and following
+  // responses.
+  // TODO(https://crbug.com/1305896): Refer to a relevant specification once the
+  // spec discussion is settled.
+  if (was_first_early_hints_received_)
+    return;
+
+  was_first_early_hints_received_ = true;
+
   net::ReferrerPolicy referrer_policy =
       Referrer::ReferrerPolicyForUrlRequest(early_hints->referrer_policy);
   bool enabled_by_origin_trial = IsPreloadForNavigationEnabledByOriginTrial(
diff --git a/content/browser/loader/navigation_early_hints_manager.h b/content/browser/loader/navigation_early_hints_manager.h
index c199c85..36549b4 100644
--- a/content/browser/loader/navigation_early_hints_manager.h
+++ b/content/browser/loader/navigation_early_hints_manager.h
@@ -185,6 +185,9 @@
 
   std::vector<GURL> preloaded_urls_;
 
+  // Set to true when HandleEarlyHints() is called for the first time. Used to
+  // ignore following responses.
+  bool was_first_early_hints_received_ = false;
   // Set to true when preload or preconnect Link headers are received. Used for
   // metrics recording.
   bool was_resource_hints_received_ = false;
diff --git a/content/browser/resources/attribution_reporting/attribution_internals.js b/content/browser/resources/attribution_reporting/attribution_internals.js
index a8dd7d6..c5f8330 100644
--- a/content/browser/resources/attribution_reporting/attribution_internals.js
+++ b/content/browser/resources/attribution_reporting/attribution_internals.js
@@ -591,7 +591,7 @@
     this.contributions = JSON.stringify(
         mojo.data.aggregatableAttributionData.contributions,
         (key, value) =>
-            typeof value === 'bigint' ? value.toString() : value);
+            typeof value === 'bigint' ? value.toString() : value, ' ');
   }
 }
 
diff --git a/content/renderer/skia_benchmarking_extension.cc b/content/renderer/skia_benchmarking_extension.cc
index 923393f..9f7625b 100644
--- a/content/renderer/skia_benchmarking_extension.cc
+++ b/content/renderer/skia_benchmarking_extension.cc
@@ -24,6 +24,7 @@
 #include "third_party/blink/public/web/web_array_buffer.h"
 #include "third_party/blink/public/web/web_array_buffer_converter.h"
 #include "third_party/blink/public/web/web_local_frame.h"
+#include "third_party/skia/include/core/SkBitmap.h"
 #include "third_party/skia/include/core/SkCanvas.h"
 #include "third_party/skia/include/core/SkColorPriv.h"
 #include "third_party/skia/include/core/SkGraphics.h"
diff --git a/docs/android_build_instructions.md b/docs/android_build_instructions.md
index 1a6cc66..c072bf8 100644
--- a/docs/android_build_instructions.md
+++ b/docs/android_build_instructions.md
@@ -385,19 +385,43 @@
 server to be run lazily at a low priority when the machine is idle, the actual
 build can complete up to 50-80% faster.
 
-There are **two** steps to using the build server. First, add the gn arg:
+There are **two** steps to using the build server.
+1. Add the gn arg `android_static_analysis = "build_server"`
+2. Run the script at
+[//build/android/fast_local_dev_server.py][fast_local_dev]
 
-```gn
-android_static_analysis = "build_server"
+All your local builds will now forward analysis steps to this server, including
+android lint, errorprone, bytecode processor.
+
+If you run (2) in a terminal, the output of the checks will be displayed there.
+Alternatively, you can set up the server as a Linux service, so it runs on the
+background and starts on boot. If you're using systemd:
+
+Save the following as /etc/systemd/system/fast-local-dev-server.service.
+```
+[Unit]
+Description=Chrome server for android build static analysis
+
+[Service]
+Type=simple
+ExecStart=<path to fast_local_dev_server.py>
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
 ```
 
-Second, run the script at
-[//build/android/fast_local_dev_server.py][fast_local_dev] in a separate
-terminal.
+Then
+```bash
+sudo systemctl daemon-reload
+sudo systemctl enable fast-local-dev-server
+sudo systemctl start fast-local-dev-server
+```
 
-All your local builds will now forward analysis steps to this server. Analysis
-steps include android lint, errorprone, bytecode processor. The output of these
-analysis checks will then be displayed in the terminal running the server.
+The output can be inspected with
+```
+journalctl -e -u fast-local-dev-server
+```
 
 **Note**: Since the build completes before the analysis checks finish, the build
 will not fail if an analysis check fails. Make sure to check the terminal that
diff --git a/docs/enterprise/OWNERS b/docs/enterprise/OWNERS
new file mode 100644
index 0000000..caa0c076
--- /dev/null
+++ b/docs/enterprise/OWNERS
@@ -0,0 +1,5 @@
+# Prefer enterprise-policy-review@ to individual owners. Sending code
+# reviews to the alias allows the owners to distribute code review loads.
+enterprise-policy-review@google.com
+
+file://components/policy/ENTERPRISE_POLICY_OWNERS
\ No newline at end of file
diff --git a/docs/enterprise/add_new_policy.md b/docs/enterprise/add_new_policy.md
index 0fa0fc1..dbebefa 100644
--- a/docs/enterprise/add_new_policy.md
+++ b/docs/enterprise/add_new_policy.md
@@ -216,7 +216,7 @@
 In this case, please remember to add the deleted id to deleted_policy_ids.
 
 If you want to remove support for another reason, please reach out to someone in
-[ENTERPRISE_POLICY_OWNERS](https://cs.chromium.org/chromium/src/components/policy/resources/ENTERPRISE_POLICY_OWNERS)
+[ENTERPRISE_POLICY_OWNERS](https://cs.chromium.org/chromium/src/components/policyENTERPRISE_POLICY_OWNERS)
 to ensure this is okay. The general preference is to leave policies as
 deprecated, but still supported.
 
diff --git a/extensions/browser/BUILD.gn b/extensions/browser/BUILD.gn
index 96de962..fff8a6d 100644
--- a/extensions/browser/BUILD.gn
+++ b/extensions/browser/BUILD.gn
@@ -625,7 +625,10 @@
   }
 
   if (is_chromeos_ash) {
-    deps += [ "//chromeos/login/login_state" ]
+    deps += [
+      "//chrome/browser/ash/crosapi:browser_util",
+      "//chromeos/login/login_state",
+    ]
   }
 
   if (is_chromeos) {
@@ -909,6 +912,7 @@
     ":test_support",
     "//base",
     "//base/test:test_support",
+    "//build:chromeos_buildflags",
     "//components/cast_certificate",
     "//components/cast_certificate:test_support",
     "//components/content_settings/core/test:test_support",
@@ -974,6 +978,9 @@
     ]
 
     deps += [
+      "//ash/constants",
+      "//chrome/browser/ash/crosapi:browser_util",
+      "//chrome/common:constants",
       "//chromeos:test_support",
       "//chromeos/dbus:test_support",
       "//chromeos/dbus/audio",
@@ -985,6 +992,7 @@
       "//chromeos/login/login_state",
       "//chromeos/network:test_support",
       "//components/feedback",
+      "//components/prefs:prefs",
       "//extensions/shell:app_shell_lib",
     ]
   }
diff --git a/extensions/browser/DEPS b/extensions/browser/DEPS
index a1f4d7b6..2699824 100644
--- a/extensions/browser/DEPS
+++ b/extensions/browser/DEPS
@@ -1,4 +1,5 @@
 include_rules = [
+  "+chrome/browser/ash/crosapi/browser_util.h",
   "+chromeos",
   "+components/back_forward_cache",
   "+components/guest_view",
@@ -53,6 +54,8 @@
 
 specific_include_rules = {
   ".*(test|test_util)\.(cc|h)$": [
+    "+ash/constants/ash_features.h",
+
     "+components/javascript_dialogs",
     "+components/user_prefs",
 
@@ -67,6 +70,7 @@
     "+chrome/browser/extensions/extension_function_test_utils.h",
     "+chrome/browser/extensions/extension_service_test_base.h",
     "+chrome/browser/ui/browser.h",
+    "+chrome/common/pref_names.h",
     "+chrome/common/chrome_switches.h",
     "+chrome/test/base/testing_profile.h",
     "+chrome/test/base/ui_test_utils.h",
diff --git a/extensions/browser/extension_registrar.cc b/extensions/browser/extension_registrar.cc
index 89843ba..87560d4 100644
--- a/extensions/browser/extension_registrar.cc
+++ b/extensions/browser/extension_registrar.cc
@@ -10,6 +10,7 @@
 #include "base/containers/contains.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/notreached.h"
+#include "build/chromeos_buildflags.h"
 #include "content/public/browser/browser_context.h"
 #include "content/public/browser/browser_thread.h"
 #include "content/public/browser/devtools_agent_host.h"
@@ -29,6 +30,10 @@
 #include "extensions/browser/task_queue_util.h"
 #include "extensions/common/manifest_handlers/background_info.h"
 
+#if BUILDFLAG(IS_CHROMEOS_ASH)
+#include "chrome/browser/ash/crosapi/browser_util.h"
+#endif  // BUILDFLAG(IS_CHROMEOS_ASH)
+
 using content::DevToolsAgentHost;
 
 namespace extensions {
@@ -231,6 +236,16 @@
         extensions::disable_reason::DISABLE_BLOCKED_BY_POLICY |
         extensions::disable_reason::DISABLE_CUSTODIAN_APPROVAL_REQUIRED |
         extensions::disable_reason::DISABLE_REINSTALL;
+
+#if BUILDFLAG(IS_CHROMEOS_ASH)
+    // For controlled extensions, only allow disabling not ash-keeplisted
+    // extensions if Lacros is the only browser.
+    if (!crosapi::browser_util::IsAshWebBrowserEnabled()) {
+      internal_disable_reason_mask |=
+          extensions::disable_reason::DISABLE_NOT_ASH_KEEPLISTED;
+    }
+#endif  // BUILDFLAG(IS_CHROMEOS_ASH)
+
     disable_reasons &= internal_disable_reason_mask;
 
     if (disable_reasons == disable_reason::DISABLE_NONE)
diff --git a/extensions/browser/extension_registrar_unittest.cc b/extensions/browser/extension_registrar_unittest.cc
index 7a2ca86b..5f03efe 100644
--- a/extensions/browser/extension_registrar_unittest.cc
+++ b/extensions/browser/extension_registrar_unittest.cc
@@ -8,6 +8,7 @@
 
 #include "base/location.h"
 #include "base/threading/sequenced_task_runner_handle.h"
+#include "build/chromeos_buildflags.h"
 #include "content/public/browser/browser_context.h"
 #include "extensions/browser/blocklist_extension_prefs.h"
 #include "extensions/browser/extension_prefs.h"
@@ -21,6 +22,15 @@
 #include "testing/gtest/include/gtest/gtest.h"
 #include "third_party/abseil-cpp/absl/types/optional.h"
 
+#if BUILDFLAG(IS_CHROMEOS_ASH)
+#include "ash/constants/ash_features.h"
+#include "base/test/scoped_feature_list.h"
+#include "chrome/browser/ash/crosapi/browser_util.h"
+#include "chrome/common/pref_names.h"  // nogncheck
+#include "components/prefs/pref_registry_simple.h"
+#include "components/prefs/testing_pref_service.h"
+#endif  // BUILDFLAG(IS_CHROMEOS_ASH)
+
 namespace extensions {
 
 namespace {
@@ -263,6 +273,23 @@
     EXPECT_FALSE(IsExtensionReady());
   }
 
+  void TryDisablingNotAshKeeplistedExtension(bool expect_extension_disabled) {
+    if (expect_extension_disabled)
+      EXPECT_CALL(delegate_, PostDeactivateExtension(extension_));
+
+    // Disable extension because it is not in the ash keep list.
+    registrar_->DisableExtension(extension_->id(),
+                                 disable_reason::DISABLE_NOT_ASH_KEEPLISTED);
+
+    ExtensionRegistry::IncludeFlag include_flag =
+        expect_extension_disabled ? ExtensionRegistry::DISABLED
+                                  : ExtensionRegistry::ENABLED;
+    ExpectInSet(include_flag);
+    EXPECT_NE(IsExtensionReady(), expect_extension_disabled);
+
+    VerifyMock();
+  }
+
   void TerminateExtension() {
     SCOPED_TRACE("TerminateExtension");
     EXPECT_CALL(delegate_, PostDeactivateExtension(extension_));
@@ -524,4 +551,61 @@
   AddEnabledExtension();
 }
 
+// Test that an extension which is not controlled (e.g. by policy) and which is
+// not on the ash keep-list can be disabled.
+TEST_F(ExtensionRegistrarTest, DisableNotAshKeeplistedExtension) {
+  ON_CALL(*delegate(), CanDisableExtension(extension().get()))
+      .WillByDefault(Return(true));
+  AddEnabledExtension();
+
+  TryDisablingNotAshKeeplistedExtension(/* expect_extension_disabled= */ true);
+}
+
+#if BUILDFLAG(IS_CHROMEOS_ASH)
+// Test that a controlled extension that is not on the ash keep-list can be
+// disabled if ash is disabled.
+TEST_F(ExtensionRegistrarTest,
+       DisableNotAshKeeplistedForceInstalledExtensionIfAshDisabled) {
+  base::test::ScopedFeatureList feature_list;
+  feature_list.InitAndEnableFeature(chromeos::features::kLacrosOnly);
+
+  crosapi::browser_util::SetLacrosPrimaryBrowserForTest(true);
+  static_cast<TestingPrefServiceSimple*>(pref_service())
+      ->registry()
+      ->RegisterIntegerPref(
+          prefs::kLacrosLaunchSwitch,
+          static_cast<int>(
+              crosapi::browser_util::LacrosAvailability::kLacrosOnly));
+  EXPECT_FALSE(crosapi::browser_util::IsAshWebBrowserEnabled());
+
+  // Prevent the extension from being disabled (by the user).
+  ON_CALL(*delegate(), CanDisableExtension(extension().get()))
+      .WillByDefault(Return(false));
+  AddEnabledExtension();
+
+  TryDisablingNotAshKeeplistedExtension(/* expect_extension_disabled= */ true);
+}
+
+// Test that a controlled extension that is not on the ash keep-list cannot be
+// disabled if ash is still enabled.
+TEST_F(ExtensionRegistrarTest,
+       NotDisableNotAshKeeplistedForceInstalledExtensionIfAshEnabled) {
+  crosapi::browser_util::SetLacrosPrimaryBrowserForTest(true);
+  static_cast<TestingPrefServiceSimple*>(pref_service())
+      ->registry()
+      ->RegisterIntegerPref(
+          prefs::kLacrosLaunchSwitch,
+          static_cast<int>(
+              crosapi::browser_util::LacrosAvailability::kLacrosPrimary));
+  EXPECT_TRUE(crosapi::browser_util::IsAshWebBrowserEnabled());
+
+  // Prevent the extension from being disabled (by the user).
+  ON_CALL(*delegate(), CanDisableExtension(extension().get()))
+      .WillByDefault(Return(false));
+  AddEnabledExtension();
+
+  TryDisablingNotAshKeeplistedExtension(/* expect_extension_disabled= */ false);
+}
+#endif  // BUILDFLAG(IS_CHROMEOS_ASH)
+
 }  // namespace extensions
diff --git a/extensions/browser/guest_view/extension_options/extension_options_guest.cc b/extensions/browser/guest_view/extension_options/extension_options_guest.cc
index ce83daee..bddbd37c 100644
--- a/extensions/browser/guest_view/extension_options/extension_options_guest.cc
+++ b/extensions/browser/guest_view/extension_options/extension_options_guest.cc
@@ -249,9 +249,9 @@
 
 void ExtensionOptionsGuest::DidFinishNavigation(
     content::NavigationHandle* navigation_handle) {
-  // TODO(https://crbug.com/1218946): With MPArch there may be multiple main
-  // frames. This caller was converted automatically to the primary main frame
-  // to preserve its semantics. Follow up to confirm correctness.
+  // TODO(crbug.com/1261928): Due to the use of inner WebContents, an
+  // ExtensionOptionsGuest's main frame is considered primary. This will no
+  // longer be the case once we migrate guest views to MPArch.
   if (!navigation_handle->IsInPrimaryMainFrame() ||
       !navigation_handle->HasCommitted() || !attached()) {
     return;
diff --git a/gin/v8_initializer.cc b/gin/v8_initializer.cc
index eb7d590..b123e69bf 100644
--- a/gin/v8_initializer.cc
+++ b/gin/v8_initializer.cc
@@ -353,6 +353,11 @@
   if (v8_is_initialized)
     return;
 
+  // Flags need to be set before InitializePlatform as they are used for
+  // system instrumentation initialization.
+  // See https://crbug.com/v8/11043
+  SetFlags(mode, js_command_line_flags);
+
   v8::V8::InitializePlatform(V8Platform::Get());
 
   // Set this early on as some initialization steps, such as the initialization
@@ -394,8 +399,6 @@
   }
 #endif  // V8_SANDBOX
 
-  SetFlags(mode, js_command_line_flags);
-
 #if defined(V8_USE_EXTERNAL_STARTUP_DATA)
   if (g_mapped_snapshot) {
     v8::StartupData snapshot;
diff --git a/google_apis/gaia/gaia_constants.cc b/google_apis/gaia/gaia_constants.cc
index 1713f4b..bc5cf83 100644
--- a/google_apis/gaia/gaia_constants.cc
+++ b/google_apis/gaia/gaia_constants.cc
@@ -41,10 +41,6 @@
 const char kChromeSyncSupervisedOAuth2Scope[] =
     "https://www.googleapis.com/auth/chromesync_playpen";
 
-// OAuth2 scope for access to Kid Management API.
-const char kKidManagementOAuth2Scope[] =
-    "https://www.googleapis.com/auth/kid.management";
-
 // OAuth2 scope for parental consent logging for secondary account addition.
 const char kKidManagementPrivilegedOAuth2Scope[] =
     "https://www.googleapis.com/auth/kid.management.privileged";
diff --git a/google_apis/gaia/gaia_constants.h b/google_apis/gaia/gaia_constants.h
index e6db05e..addadbf 100644
--- a/google_apis/gaia/gaia_constants.h
+++ b/google_apis/gaia/gaia_constants.h
@@ -28,7 +28,6 @@
 extern const char kAnyApiOAuth2Scope[];
 extern const char kChromeSyncOAuth2Scope[];
 extern const char kChromeSyncSupervisedOAuth2Scope[];
-extern const char kKidManagementOAuth2Scope[];
 extern const char kKidManagementPrivilegedOAuth2Scope[];
 extern const char kKidsSupervisionSetupChildOAuth2Scope[];
 extern const char kGoogleTalkOAuth2Scope[];
diff --git a/ios/chrome/browser/ui/autofill/manual_fill/password_view_controller_egtest.mm b/ios/chrome/browser/ui/autofill/manual_fill/password_view_controller_egtest.mm
index 483e1c4a..68da940 100644
--- a/ios/chrome/browser/ui/autofill/manual_fill/password_view_controller_egtest.mm
+++ b/ios/chrome/browser/ui/autofill/manual_fill/password_view_controller_egtest.mm
@@ -28,7 +28,6 @@
 #error "This file requires ARC support."
 #endif
 
-using base::test::ios::kWaitForActionTimeout;
 using chrome_test_util::ButtonWithAccessibilityLabelId;
 using chrome_test_util::CancelButton;
 using chrome_test_util::ManualFallbackKeyboardIconMatcher;
@@ -574,26 +573,12 @@
       assertWithMatcher:grey_sufficientlyVisible()];
 
   // Select a 'Suggest Password...' option.
-  [[[EarlGrey selectElementWithMatcher:ManualFallbackSuggestPasswordMatcher()]
-      assertWithMatcher:grey_sufficientlyVisible()] performAction:grey_tap()];
-
-  // Dismiss the keyboard, if on iPad.
-  if ([ChromeEarlGrey isIPadIdiom]) {
-    GREYCondition* waitForKeyboardDismiss = [GREYCondition
-        conditionWithName:@"waitForKeyboardDismiss"
-                    block:^BOOL() {
-                      return [EarlGrey dismissKeyboardWithError:nil];
-                    }];
-
-    // Verify that keyboard is dismissed.
-    GREYAssertTrue(
-        [waitForKeyboardDismiss waitWithTimeout:kWaitForActionTimeout],
-        @"Keyboard must dismiss before selecting 'Use Suggested Password'.");
-  }
+  [[EarlGrey selectElementWithMatcher:ManualFallbackSuggestPasswordMatcher()]
+      performAction:grey_tap()];
 
   // Confirm by tapping on the 'Use Suggested Password' button.
-  [[[EarlGrey selectElementWithMatcher:UseSuggestedPasswordMatcher()]
-      assertWithMatcher:grey_sufficientlyVisible()] performAction:grey_tap()];
+  [[EarlGrey selectElementWithMatcher:UseSuggestedPasswordMatcher()]
+      performAction:grey_tap()];
 
   // Verify Web Content.
   NSString* javaScriptCondition =
diff --git a/ios/chrome/browser/ui/passwords/password_suggestion_coordinator.mm b/ios/chrome/browser/ui/passwords/password_suggestion_coordinator.mm
index 173d810b..19dfacc 100644
--- a/ios/chrome/browser/ui/passwords/password_suggestion_coordinator.mm
+++ b/ios/chrome/browser/ui/passwords/password_suggestion_coordinator.mm
@@ -20,6 +20,7 @@
 #include "ios/web/public/js_messaging/web_frame.h"
 #include "ios/web/public/js_messaging/web_frame_util.h"
 #import "ios/web/public/web_state.h"
+#include "ui/base/device_form_factor.h"
 
 #if !defined(__has_feature) || !__has_feature(objc_arc)
 #error "This file requires ARC support."
@@ -88,6 +89,14 @@
     self.viewController.modalPresentationStyle = UIModalPresentationFormSheet;
   }
 
+  // Immediately dismiss the keyboard (only on tablet) because the
+  // PasswordSuggestion view controller is incorrectly being displayed behind
+  // the keyboard. This issue does not happen on mobile devices.
+  // For more information, please see: https://www.crbug.com/1307759.
+  if (ui::GetDeviceFormFactor() == ui::DEVICE_FORM_FACTOR_TABLET) {
+    [self closeKeyboard];
+  }
+
   [self.baseViewController presentViewController:self.viewController
                                         animated:YES
                                       completion:nil];
@@ -140,27 +149,21 @@
 }
 
 - (void)handleDecision:(BOOL)accept {
-  NSString* activeWebStateIdentifier = self.browser->GetWebStateList()
-                                           ->GetActiveWebState()
-                                           ->GetStableIdentifier();
-
-  __weak PasswordSuggestionCoordinator* weakSelf = self;
-
-  auto closeKeyboard = ^{
-    [weakSelf onCloseKeyboardWithIdentifier:activeWebStateIdentifier];
-  };
-
   if (self.decisionHandler) {
     self.decisionHandler(accept);
   }
-
-  // Close the keyboard when the user accepts a generated password
-  // suggestion. Otherwise, let them continue typing a new password.
-  if (accept) {
-    closeKeyboard();
-  }
 }
 
+// Closes the keyboard.
+- (void)closeKeyboard {
+  NSString* activeWebStateIdentifier = self.browser->GetWebStateList()
+                                           ->GetActiveWebState()
+                                           ->GetStableIdentifier();
+  __weak PasswordSuggestionCoordinator* weakSelf = self;
+  [weakSelf onCloseKeyboardWithIdentifier:activeWebStateIdentifier];
+}
+
+// Helper method which closes the keyboard.
 - (void)onCloseKeyboardWithIdentifier:(NSString*)identifier {
   Browser* browser = self.browser;
   if (!browser)
@@ -176,6 +179,7 @@
     return;
   FormInputAccessoryViewHandler* handler =
       [[FormInputAccessoryViewHandler alloc] init];
+  handler.webState = webState;
   NSString* mainFrameID =
       base::SysUTF8ToNSString(web::GetMainWebFrameId(webState));
   [handler setLastFocusFormActivityWebFrameID:mainFrameID];
diff --git a/media/base/audio_parameters.h b/media/base/audio_parameters.h
index 97ba774..ca90032 100644
--- a/media/base/audio_parameters.h
+++ b/media/base/audio_parameters.h
@@ -13,7 +13,6 @@
 #include "base/numerics/checked_math.h"
 #include "base/time/time.h"
 #include "build/build_config.h"
-#include "media/base/audio_bus.h"
 #include "media/base/audio_latency.h"
 #include "media/base/audio_point.h"
 #include "media/base/channel_layout.h"
diff --git a/media/base/video_util.cc b/media/base/video_util.cc
index 0e4cb7f..8d7037e 100644
--- a/media/base/video_util.cc
+++ b/media/base/video_util.cc
@@ -212,8 +212,8 @@
                                 sk_color_type, sk_alpha_type);
   ri->ReadbackImagePixels(holder.mailbox, info, dest_stride, src_rect.x(),
                           src_rect.y(), dest_pixels);
-  DCHECK_EQ(ri->GetError(), static_cast<GLenum>(GL_NO_ERROR));
-  return true;
+  return ri->GetGraphicsResetStatusKHR() == GL_NO_ERROR &&
+         ri->GetError() == GL_NO_ERROR;
 }
 
 void LetterboxPlane(const gfx::Rect& view_area_in_bytes,
diff --git a/media/gpu/chromeos/image_processor_test.cc b/media/gpu/chromeos/image_processor_test.cc
index acca584..1077a408 100644
--- a/media/gpu/chromeos/image_processor_test.cc
+++ b/media/gpu/chromeos/image_processor_test.cc
@@ -34,7 +34,7 @@
 const char* usage_msg =
     "usage: image_processor_test\n"
     "[--gtest_help] [--help] [-v=<level>] [--vmodule=<config>] "
-    "[--save_images]\n";
+    "[--save_images] [--source_directory=<dir>]\n";
 
 const char* help_msg =
     "Run the image processor tests.\n\n"
@@ -44,9 +44,17 @@
     "   -v                   enable verbose mode, e.g. -v=2.\n"
     "  --vmodule             enable verbose mode for the specified module.\n"
     "  --save_images         write images processed by a image processor to\n"
-    "                        the \"<testname>\" folder.\n";
+    "                        the \"<testname>\" folder.\n"
+    "  --source_directory    specify the directory that contains test source\n"
+    "                        files. Defaults to the current directory.\n";
 
 bool g_save_images = false;
+base::FilePath g_source_directory =
+    base::FilePath(base::FilePath::kCurrentDirectory);
+
+base::FilePath BuildSourceFilePath(const base::FilePath& filename) {
+  return media::g_source_directory.Append(filename);
+}
 
 media::test::VideoTestEnvironment* g_env;
 
@@ -162,8 +170,9 @@
     ImageProcessor::PortConfig output_config(
         output_fourcc, output_image->Size(), output_layout->planes(),
         output_image->VisibleRect(), output_storage_types);
-    int rotation =
-        ((output_image->Rotation() - input_image.Rotation() + 4) % 4) * 90;
+    int rotation = (output_image->Rotation() - input_image.Rotation()) % 360;
+    if (rotation < 0)
+      rotation += 360;
     VideoRotation relative_rotation = VIDEO_ROTATION_0;
     switch (rotation) {
       case 0:
@@ -246,8 +255,8 @@
 TEST_P(ImageProcessorParamTest, ConvertOneTime_MemToMem) {
   // Load the test input image. We only need the output image's metadata so we
   // can compare checksums.
-  test::Image input_image(std::get<0>(GetParam()));
-  test::Image output_image(std::get<1>(GetParam()));
+  test::Image input_image(BuildSourceFilePath(std::get<0>(GetParam())));
+  test::Image output_image(BuildSourceFilePath(std::get<1>(GetParam())));
   ASSERT_TRUE(input_image.Load());
   ASSERT_TRUE(output_image.LoadMetadata());
   auto ip_client = CreateImageProcessorClient(
@@ -269,8 +278,8 @@
 TEST_P(ImageProcessorParamTest, ConvertOneTime_DmabufToMem) {
   // Load the test input image. We only need the output image's metadata so we
   // can compare checksums.
-  test::Image input_image(std::get<0>(GetParam()));
-  test::Image output_image(std::get<1>(GetParam()));
+  test::Image input_image(BuildSourceFilePath(std::get<0>(GetParam())));
+  test::Image output_image(BuildSourceFilePath(std::get<1>(GetParam())));
   ASSERT_TRUE(input_image.Load());
   ASSERT_TRUE(output_image.LoadMetadata());
   if (!IsFormatTestedForDmabufAndGbm(input_image.PixelFormat()))
@@ -291,8 +300,8 @@
 TEST_P(ImageProcessorParamTest, ConvertOneTime_DmabufToDmabuf) {
   // Load the test input image. We only need the output image's metadata so we
   // can compare checksums.
-  test::Image input_image(std::get<0>(GetParam()));
-  test::Image output_image(std::get<1>(GetParam()));
+  test::Image input_image(BuildSourceFilePath(std::get<0>(GetParam())));
+  test::Image output_image(BuildSourceFilePath(std::get<1>(GetParam())));
   ASSERT_TRUE(input_image.Load());
   ASSERT_TRUE(output_image.LoadMetadata());
   if (!IsFormatTestedForDmabufAndGbm(input_image.PixelFormat()))
@@ -317,8 +326,8 @@
 TEST_P(ImageProcessorParamTest, ConvertOneTime_GmbToGmb) {
   // Load the test input image. We only need the output image's metadata so we
   // can compare checksums.
-  test::Image input_image(std::get<0>(GetParam()));
-  test::Image output_image(std::get<1>(GetParam()));
+  test::Image input_image(BuildSourceFilePath(std::get<0>(GetParam())));
+  test::Image output_image(BuildSourceFilePath(std::get<1>(GetParam())));
   ASSERT_TRUE(input_image.Load());
   ASSERT_TRUE(output_image.LoadMetadata());
   if (!IsFormatTestedForDmabufAndGbm(input_image.PixelFormat())) {
@@ -436,6 +445,8 @@
 
     if (it->first == "save_images") {
       media::g_save_images = true;
+    } else if (it->first == "source_directory") {
+      media::g_source_directory = base::FilePath(it->second);
     } else {
       std::cout << "unknown option: --" << it->first << "\n"
                 << media::usage_msg;
diff --git a/media/webrtc/audio_processor.cc b/media/webrtc/audio_processor.cc
index cb70ccd5..6503345f 100644
--- a/media/webrtc/audio_processor.cc
+++ b/media/webrtc/audio_processor.cc
@@ -42,23 +42,17 @@
 // is the type webrtc::AudioProcessing deals in. The array is refreshed on every
 // channel_ptrs() call, and will be valid until the underlying AudioBus pointers
 // are changed, e.g. through calls to SetChannelData() or SwapChannels().
-// After construction, all methods are called on a single sequence.
 class AudioProcessorCaptureBus {
  public:
   AudioProcessorCaptureBus(int channels, int frames)
       : bus_(media::AudioBus::Create(channels, frames)),
         channel_ptrs_(new float*[channels]) {
     bus_->Zero();
-    DETACH_FROM_SEQUENCE(sequence_checker_);
   }
 
-  media::AudioBus* bus() {
-    DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-    return bus_.get();
-  }
+  media::AudioBus* bus() { return bus_.get(); }
 
   float* const* channel_ptrs() {
-    DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
     for (int i = 0; i < bus_->channels(); ++i) {
       channel_ptrs_[i] = bus_->channel(i);
     }
@@ -66,7 +60,6 @@
   }
 
  private:
-  SEQUENCE_CHECKER(sequence_checker_);
   std::unique_ptr<media::AudioBus> bus_;
   std::unique_ptr<float*[]> channel_ptrs_;
 };
@@ -75,7 +68,7 @@
 // It avoids the FIFO when the source and destination frames match. If
 // |source_channels| is larger than |destination_channels|, only the first
 // |destination_channels| are kept from the source.
-// After construction, all methods are called sequentially.
+// Does not support concurrent access.
 class AudioProcessorCaptureFifo {
  public:
   AudioProcessorCaptureFifo(int source_channels,
@@ -108,12 +101,9 @@
       fifo_ =
           std::make_unique<media::AudioFifo>(destination_channels, fifo_frames);
     }
-
-    DETACH_FROM_SEQUENCE(sequence_checker_);
   }
 
   void Push(const media::AudioBus& source, base::TimeDelta audio_delay) {
-    DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
 #if DCHECK_IS_ON()
     DCHECK_EQ(source.channels(), source_channels_);
     DCHECK_EQ(source.frames(), source_frames_);
@@ -146,8 +136,6 @@
   // consumed, and otherwise false.
   bool Consume(AudioProcessorCaptureBus** destination,
                base::TimeDelta* audio_delay) {
-    DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-
     if (fifo_) {
       if (fifo_->frames() < destination_->bus()->frames())
         return false;
@@ -169,7 +157,6 @@
   }
 
  private:
-  SEQUENCE_CHECKER(sequence_checker_);
 #if DCHECK_IS_ON()
   const int source_channels_;
   const int source_frames_;
diff --git a/testing/buildbot/chromium.memory.json b/testing/buildbot/chromium.memory.json
index 12c9ab46..9c4b6cd5 100644
--- a/testing/buildbot/chromium.memory.json
+++ b/testing/buildbot/chromium.memory.json
@@ -4365,8 +4365,9 @@
               "os": "Ubuntu-18.04"
             }
           ],
+          "quickrun_shards": 12,
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 3
+          "shards": 6
         },
         "test": "interactive_ui_tests",
         "test_id_prefix": "ninja://chrome/test:interactive_ui_tests/"
diff --git a/testing/buildbot/test_suite_exceptions.pyl b/testing/buildbot/test_suite_exceptions.pyl
index 46adbd7..2f56512 100644
--- a/testing/buildbot/test_suite_exceptions.pyl
+++ b/testing/buildbot/test_suite_exceptions.pyl
@@ -1931,6 +1931,13 @@
           'quickrun_shards': 12,
         },
       },
+      'Linux Chromium OS ASan LSan Tests (1)': {
+        # These are slow on the ASan trybot for some reason, crbug.com/1257927
+        'swarming': {
+          'shards': 6,
+          'quickrun_shards': 12,
+        },
+      },
       'Linux ChromiumOS MSan Tests': {
         # These are very slow on the Chrome OS MSAN trybot for some reason.
         # crbug.com/865455
diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json
index 7d101d38..72bdb2a 100644
--- a/testing/variations/fieldtrial_testing_config.json
+++ b/testing/variations/fieldtrial_testing_config.json
@@ -2979,22 +2979,6 @@
             ]
         }
     ],
-    "DragAndDropAndroid": [
-        {
-            "platforms": [
-                "android"
-            ],
-            "experiments": [
-                {
-                    "name": "Enabled_M100",
-                    "enable_features": [
-                        "ContextMenuPopupStyle",
-                        "TouchDragAndContextMenu"
-                    ]
-                }
-            ]
-        }
-    ],
     "DriveFsBidirectionalNativeMessaging": [
         {
             "platforms": [
@@ -7753,6 +7737,26 @@
             ]
         }
     ],
+    "WebRTC-FrameBuffer3": [
+        {
+            "platforms": [
+                "windows",
+                "mac",
+                "chromeos",
+                "chromeos_lacros",
+                "linux",
+                "ios",
+                "android",
+                "android_weblayer",
+                "android_webview"
+            ],
+            "experiments": [
+                {
+                    "name": "arm:SyncDecoding,_Beta"
+                }
+            ]
+        }
+    ],
     "WebRTC-VP8ConferenceTemporalLayers": [
         {
             "platforms": [
@@ -7970,21 +7974,6 @@
             ]
         }
     ],
-    "WebViewLogFirstPartyPageTimeSpent": [
-        {
-            "platforms": [
-                "android_webview"
-            ],
-            "experiments": [
-                {
-                    "name": "Enabled",
-                    "enable_features": [
-                        "WebViewLogFirstPartyPageTimeSpent"
-                    ]
-                }
-            ]
-        }
-    ],
     "WebViewMeasureScreenCoverage": [
         {
             "platforms": [
diff --git a/third_party/blink/public/web/web_local_frame.h b/third_party/blink/public/web/web_local_frame.h
index 9f9583d..3cdebd4d 100644
--- a/third_party/blink/public/web/web_local_frame.h
+++ b/third_party/blink/public/web/web_local_frame.h
@@ -22,7 +22,6 @@
 #include "third_party/blink/public/common/css/page_size_type.h"
 #include "third_party/blink/public/common/frame/frame_ad_evidence.h"
 #include "third_party/blink/public/common/frame/user_activation_update_source.h"
-#include "third_party/blink/public/common/messaging/transferable_message.h"
 #include "third_party/blink/public/common/permissions_policy/permissions_policy_features.h"
 #include "third_party/blink/public/common/tokens/tokens.h"
 #include "third_party/blink/public/mojom/blob/blob_url_store.mojom-shared.h"
diff --git a/third_party/blink/renderer/core/layout/ng/flex/ng_flex_layout_algorithm.cc b/third_party/blink/renderer/core/layout/ng/flex/ng_flex_layout_algorithm.cc
index 3adfce4..125ae997 100644
--- a/third_party/blink/renderer/core/layout/ng/flex/ng_flex_layout_algorithm.cc
+++ b/third_party/blink/renderer/core/layout/ng/flex/ng_flex_layout_algorithm.cc
@@ -1452,9 +1452,10 @@
         }
       } else {
         has_container_separation =
-            (last_line_idx_to_process_first_child_ != kNotFound &&
-             last_line_idx_to_process_first_child_ >= flex_line_idx) ||
-            (!item_break_token && offset.block_offset > LayoutUnit());
+            !item_break_token &&
+            ((last_line_idx_to_process_first_child_ != kNotFound &&
+              last_line_idx_to_process_first_child_ >= flex_line_idx) ||
+             offset.block_offset > LayoutUnit());
 
         // We may switch back and forth between columns, so we need to make sure
         // to use the break-after for the current column.
@@ -2074,7 +2075,8 @@
 void NGFlexLayoutAlgorithm::ConsumeRemainingFragmentainerSpace(
     LayoutUnit previously_consumed_block_size,
     NGFlexLine* flex_line) {
-  if (container_builder_.HasForcedBreak()) {
+  if (To<NGBlockBreakToken>(container_builder_.LastChildBreakToken())
+          ->IsForcedBreak()) {
     // This will be further adjusted by the total consumed block size once we
     // handle the break before in the next fragmentainer. This ensures that the
     // expansion is properly handled in the column balancing pass.
diff --git a/third_party/blink/renderer/core/layout/ng/ng_box_fragment_builder.h b/third_party/blink/renderer/core/layout/ng/ng_box_fragment_builder.h
index 1a3fd79..77f548f 100644
--- a/third_party/blink/renderer/core/layout/ng/ng_box_fragment_builder.h
+++ b/third_party/blink/renderer/core/layout/ng/ng_box_fragment_builder.h
@@ -666,6 +666,11 @@
 
   bool HasForcedBreak() const { return has_forced_break_; }
 
+  const NGBreakToken* LastChildBreakToken() const {
+    DCHECK(!child_break_tokens_.IsEmpty());
+    return child_break_tokens_.back().Get();
+  }
+
   void InsertLegacyPositionedObject(const NGBlockNode& positioned) const {
     positioned.InsertIntoLegacyPositionedObjectsOf(
         To<LayoutBlock>(layout_object_));
diff --git a/third_party/blink/renderer/core/layout/ng/ng_fragmentation_utils.h b/third_party/blink/renderer/core/layout/ng/ng_fragmentation_utils.h
index aae9d6b..b961c1b 100644
--- a/third_party/blink/renderer/core/layout/ng/ng_fragmentation_utils.h
+++ b/third_party/blink/renderer/core/layout/ng/ng_fragmentation_utils.h
@@ -70,7 +70,7 @@
 // already been fragmented (to resume layout correctly, but not break again).
 inline bool InvolvedInBlockFragmentation(const NGBoxFragmentBuilder& builder) {
   return builder.ConstraintSpace()->HasBlockFragmentation() ||
-         builder.PreviousBreakToken();
+         IsResumingLayout(builder.PreviousBreakToken());
 }
 
 // Calculate the final "break-between" value at a class A or C breakpoint. This
diff --git a/third_party/blink/renderer/core/layout/ng/ng_layout_algorithm.h b/third_party/blink/renderer/core/layout/ng/ng_layout_algorithm.h
index 7af8c85..dc6dd71 100644
--- a/third_party/blink/renderer/core/layout/ng/ng_layout_algorithm.h
+++ b/third_party/blink/renderer/core/layout/ng/ng_layout_algorithm.h
@@ -97,7 +97,8 @@
     container_builder_.SetIsNewFormattingContext(
         params.space.IsNewFormattingContext());
     container_builder_.SetInitialFragmentGeometry(params.fragment_geometry);
-    if (UNLIKELY(params.space.HasBlockFragmentation() || params.break_token)) {
+    if (UNLIKELY(params.space.HasBlockFragmentation() ||
+                 IsResumingLayout(params.break_token))) {
       SetupFragmentBuilderForFragmentation(
           params.space, params.node, params.break_token, &container_builder_);
     }
diff --git a/third_party/blink/renderer/core/paint/compositing/compositing_reason_finder.cc b/third_party/blink/renderer/core/paint/compositing/compositing_reason_finder.cc
index e29a0cd..801296b 100644
--- a/third_party/blink/renderer/core/paint/compositing/compositing_reason_finder.cc
+++ b/third_party/blink/renderer/core/paint/compositing/compositing_reason_finder.cc
@@ -160,14 +160,10 @@
   return reasons;
 }
 
-static bool RequiresCompositingForAffectedByOuterViewportBoundsDelta(
+static CompositingReasons CompositingReasonsForViewportScrollEffect(
     const LayoutObject& layout_object) {
   if (!layout_object.IsBox())
-    return false;
-
-  if (layout_object.StyleRef().GetPosition() != EPosition::kFixed ||
-      !layout_object.StyleRef().IsFixedToBottom())
-    return false;
+    return CompositingReason::kNone;
 
   // Objects inside an iframe that's the root scroller should get the same
   // "pushed by top controls" behavior as for the main frame.
@@ -176,10 +172,24 @@
   if (!layout_object.GetFrame()->IsMainFrame() &&
       layout_object.GetFrame()->GetDocument() !=
           controller.GlobalRootScroller())
-    return false;
+    return CompositingReason::kNone;
+
+  CompositingReasons reasons = CompositingReason::kNone;
+  if (layout_object.StyleRef().GetPosition() == EPosition::kFixed) {
+    // This ensures that the compositor TransformNode gets created for fixed
+    // elements.
+    // TODO (arakeri): Add a new CompositingReason for fixed-position elements
+    // that are not fixed to the viewport and plumb that to cc::TransformNode.
+    if (RuntimeEnabledFeatures::FixedElementsDontOverscrollEnabled())
+      reasons |= CompositingReason::kFixedPosition;
+
+    if (layout_object.StyleRef().IsFixedToBottom())
+      reasons |= CompositingReason::kAffectedByOuterViewportBoundsDelta;
+  }
 
   // It's affected by viewport only if the container is the LayoutView.
-  return IsA<LayoutView>(layout_object.Container());
+  return IsA<LayoutView>(layout_object.Container()) ? reasons
+                                                    : CompositingReason::kNone;
 }
 
 CompositingReasons
@@ -224,8 +234,7 @@
 
   reasons |= CompositingReasonsForScrollDependentPosition(*layer);
 
-  if (RequiresCompositingForAffectedByOuterViewportBoundsDelta(object))
-    reasons |= CompositingReason::kAffectedByOuterViewportBoundsDelta;
+  reasons |= CompositingReasonsForViewportScrollEffect(object);
 
   if (style.HasBackdropFilter())
     reasons |= CompositingReason::kBackdropFilter;
diff --git a/third_party/blink/renderer/core/paint/image_paint_timing_detector.cc b/third_party/blink/renderer/core/paint/image_paint_timing_detector.cc
index e6ec1d3..c8bb8fb 100644
--- a/third_party/blink/renderer/core/paint/image_paint_timing_detector.cc
+++ b/third_party/blink/renderer/core/paint/image_paint_timing_detector.cc
@@ -16,6 +16,7 @@
 #include "third_party/blink/renderer/core/page/page.h"
 #include "third_party/blink/renderer/core/paint/image_element_timing.h"
 #include "third_party/blink/renderer/core/paint/largest_contentful_paint_calculator.h"
+#include "third_party/blink/renderer/core/paint/paint_timing.h"
 #include "third_party/blink/renderer/core/paint/paint_timing_detector.h"
 #include "third_party/blink/renderer/platform/heap/thread_state.h"
 #include "third_party/blink/renderer/platform/instrumentation/tracing/trace_event.h"
@@ -464,6 +465,12 @@
     largest_ignored_image_.reset();
     return;
   }
+
+  // Trigger FCP if it's not already set.
+  Document* document = frame_view_->GetFrame().GetDocument();
+  DCHECK(document);
+  PaintTiming::From(*document).MarkFirstContentfulPaint();
+
   RecordId record_id = std::make_pair(node->GetLayoutObject(),
                                       largest_ignored_image_->cached_image);
   recorded_images_.insert(record_id);
diff --git a/third_party/blink/renderer/core/paint/text_paint_timing_detector.cc b/third_party/blink/renderer/core/paint/text_paint_timing_detector.cc
index 8ac0f83..54cf29d 100644
--- a/third_party/blink/renderer/core/paint/text_paint_timing_detector.cc
+++ b/third_party/blink/renderer/core/paint/text_paint_timing_detector.cc
@@ -10,6 +10,7 @@
 #include "third_party/blink/renderer/core/frame/local_frame_view.h"
 #include "third_party/blink/renderer/core/paint/largest_contentful_paint_calculator.h"
 #include "third_party/blink/renderer/core/paint/paint_layer.h"
+#include "third_party/blink/renderer/core/paint/paint_timing.h"
 #include "third_party/blink/renderer/core/paint/paint_timing_detector.h"
 #include "third_party/blink/renderer/platform/instrumentation/tracing/trace_event.h"
 #include "third_party/blink/renderer/platform/instrumentation/tracing/traced_value.h"
@@ -185,6 +186,11 @@
   if (!record || !record->node_ || !record->node_->GetLayoutObject())
     return;
 
+  // Trigger FCP if it's not already set.
+  Document* document = frame_view_->GetFrame().GetDocument();
+  DCHECK(document);
+  PaintTiming::From(*document).MarkFirstContentfulPaint();
+
   record->frame_index_ = frame_index_;
   QueueToMeasurePaintTime(*record->node_->GetLayoutObject(), record);
 }
diff --git a/third_party/blink/renderer/modules/wake_lock/wake_lock.idl b/third_party/blink/renderer/modules/wake_lock/wake_lock.idl
index 8682777..42fc9867 100644
--- a/third_party/blink/renderer/modules/wake_lock/wake_lock.idl
+++ b/third_party/blink/renderer/modules/wake_lock/wake_lock.idl
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// https://w3c.github.io/screen-wake-lock/#the-wakelocktype-enum
 enum WakeLockType {
   "screen",
   "system"
diff --git a/third_party/blink/renderer/platform/peerconnection/rtc_video_encoder.cc b/third_party/blink/renderer/platform/peerconnection/rtc_video_encoder.cc
index d6efa3a..ca56c30 100644
--- a/third_party/blink/renderer/platform/peerconnection/rtc_video_encoder.cc
+++ b/third_party/blink/renderer/platform/peerconnection/rtc_video_encoder.cc
@@ -1222,9 +1222,9 @@
     bool native_buffer_scaling =
 #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS)
         buffer->type() == webrtc::VideoFrameBuffer::Type::kNative &&
-        input_frame_coded_size_.width() == input_visible_size_.width();
+        input_frame_coded_size_ == input_visible_size_;
 #else
-        // TODO(https://crbug.com/1194500): Android (e.g. android-pie-arm64-rel)
+        // TODO(https://crbug.com/1307206): Android (e.g. android-pie-arm64-rel)
         // and CrOS does not support the native buffer scaling path. Investigate
         // why and find a way to enable it, if possible.
         false;
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
index 75620aa..6bae55b7 100644
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -1130,7 +1130,6 @@
     },
     {
       name: "FixedElementsDontOverscroll",
-      status: "experimental",
     },
     {
       name: "Fledge",
diff --git a/third_party/blink/web_tests/TestExpectations b/third_party/blink/web_tests/TestExpectations
index 543ccb68..869dcf0a 100644
--- a/third_party/blink/web_tests/TestExpectations
+++ b/third_party/blink/web_tests/TestExpectations
@@ -3482,7 +3482,6 @@
 crbug.com/626703 [ Win ] external/wpt/css/css-backgrounds/background-clip/clip-text-flex.html [ Failure ]
 crbug.com/626703 virtual/threaded/external/wpt/css/css-backgrounds/background-clip/clip-text-flex.html [ Failure ]
 crbug.com/626703 [ Mac11-arm64 ] external/wpt/webrtc-encoded-transform/RTCPeerConnection-insertable-streams-simulcast.https.html [ Timeout ]
-crbug.com/626703 [ Mac10.12 ] virtual/fenced-frame-mparch/wpt_internal/fenced_frame/maxframes.https.html [ Timeout ]
 crbug.com/626703 [ Mac10.12 ] virtual/portals/external/wpt/portals/history/history-manipulation-inside-portal-with-subframes.html [ Timeout ]
 crbug.com/626703 [ Mac10.12 ] virtual/portals/wpt_internal/portals/create-many-portals.html [ Timeout ]
 crbug.com/626703 [ Linux ] virtual/prerender/external/wpt/speculation-rules/prerender/opt-out.html [ Crash ]
@@ -3512,7 +3511,6 @@
 crbug.com/626703 external/wpt/css/css-masking/clip-path/clip-path-shape-interpolation-002.html [ Failure ]
 crbug.com/626703 [ Mac11 ] virtual/off-main-thread-css-paint/external/wpt/css/css-paint-api/paint-arguments.https.html [ Failure ]
 crbug.com/626703 [ Mac10.15 ] virtual/off-main-thread-css-paint/external/wpt/css/css-paint-api/registered-property-value-011.https.html [ Failure ]
-crbug.com/626703 [ Mac10.12 ] virtual/fenced-frame-mparch/wpt_internal/fenced_frame/navigate-ancestor-nested-fenced-frame.https.html [ Timeout ]
 crbug.com/626703 [ Mac10.12 ] virtual/no-auto-wpt-origin-isolation/external/wpt/html/browsers/origin/origin-keyed-agent-clusters/1-iframe/parent-yes-child-yes-port.sub.https.html [ Timeout ]
 crbug.com/626703 [ Mac10.12 ] virtual/no-auto-wpt-origin-isolation/external/wpt/html/browsers/origin/origin-keyed-agent-clusters/2-iframes/parent-yes-child1-yes-subdomain-child2-yes-subdomain2.sub.https.html [ Timeout ]
 crbug.com/626703 [ Mac11-arm64 ] external/wpt/html/cross-origin-embedder-policy/worker-inheritance.sub.https.html [ Timeout ]
@@ -3555,14 +3553,11 @@
 crbug.com/626703 [ Mac10.15 ] external/wpt/html/cross-origin-embedder-policy/credentialless/reporting-subresource-corp.tentative.https.window.html [ Skip Timeout ]
 crbug.com/626703 [ Win10.20h2 ] external/wpt/webrtc/RTCDataChannel-bufferedAmount.html [ Crash ]
 crbug.com/626703 [ Win10.20h2 ] virtual/webrtc-wpt-plan-b/external/wpt/webrtc/RTCDataChannel-bufferedAmount.html [ Crash ]
-crbug.com/626703 [ Mac10.12 ] virtual/fenced-frame-mparch/wpt_internal/fenced_frame/background-fetch.https.html [ Timeout ]
 crbug.com/626703 [ Mac10.12 ] external/wpt/fetch/api/response/response-clone.any.worker.html [ Timeout ]
 crbug.com/626703 [ Mac10.12 ] external/wpt/webxr/xrSession_requestReferenceSpace_features.https.html [ Timeout ]
 crbug.com/626703 [ Mac10.12 ] virtual/portals/external/wpt/portals/no-portal-in-sandboxed-popup.html [ Timeout ]
-crbug.com/626703 [ Mac10.12 ] virtual/fenced-frame-mparch/wpt_internal/fenced_frame/permission-geolocation.https.html [ Timeout ]
 crbug.com/626703 [ Mac10.12 ] virtual/portals/external/wpt/portals/portal-activate-data.html [ Timeout ]
 crbug.com/626703 [ Mac10.12 ] external/wpt/mediacapture-streams/MediaDevices-enumerateDevices-per-origin-ids.sub.https.html [ Timeout ]
-crbug.com/626703 [ Mac10.12 ] virtual/fenced-frame-mparch/external/wpt/html/cross-origin-embedder-policy/anonymous-iframe/web-lock.tentative.https.window.html [ Timeout ]
 crbug.com/626703 external/wpt/css/css-content/quotes-030.html [ Failure ]
 crbug.com/626703 [ Mac11-arm64 ] external/wpt/fetch/private-network-access/fetch.https.window.html?include=from-public [ Timeout ]
 crbug.com/626703 [ Mac11-arm64 ] external/wpt/fetch/private-network-access/service-worker.https.window.html [ Timeout ]
@@ -3635,7 +3630,6 @@
 crbug.com/626703 [ Win10.20h2 ] external/wpt/mediacapture-streams/MediaDevices-enumerateDevices-per-origin-ids.sub.https.html [ Failure Timeout ]
 crbug.com/626703 [ Win10.20h2 ] virtual/feature-policy-permissions/external/wpt/mediacapture-streams/MediaDevices-enumerateDevices-per-origin-ids.sub.https.html [ Failure Timeout ]
 crbug.com/626703 [ Mac10.15 ] virtual/plz-dedicated-worker/external/wpt/html/cross-origin-embedder-policy/reporting-subresource-corp.https.html [ Skip Timeout ]
-crbug.com/626703 [ Mac10.12 ] virtual/fenced-frame-mparch/wpt_internal/fenced_frame/presentation-receiver.https.html [ Crash Failure ]
 crbug.com/626703 [ Mac10.12 ] external/wpt/websockets/constructor/009.html?wpt_flags=h2 [ Crash Failure ]
 crbug.com/626703 [ Mac10.13 ] external/wpt/scroll-to-text-fragment/scroll-to-text-fragment-security.sub.html [ Timeout ]
 crbug.com/626703 [ Mac10.13 ] external/wpt/css/selectors/invalidation/has-in-ancestor-position.html [ Failure Timeout ]
@@ -3654,7 +3648,6 @@
 crbug.com/626703 [ Mac11-arm64 ] external/wpt/navigation-timing/nav2_test_response_end_and_duration_before_during_and_after_load_event.html [ Timeout ]
 crbug.com/1270841 [ Mac ] external/wpt/media-capabilities/encodingInfo.any.worker.html [ Crash ]
 crbug.com/626703 [ Mac11 ] virtual/plz-dedicated-worker/external/wpt/workers/constructors/SharedWorker/setting-port-members.html [ Failure Timeout ]
-crbug.com/626703 [ Mac11 ] virtual/fenced-frame-mparch/wpt_internal/fenced_frame/window-parent.https.html [ Timeout ]
 crbug.com/626703 [ Mac11 ] virtual/forced-high-contrast-colors/external/wpt/forced-colors-mode/forced-colors-mode-19.html [ Timeout ]
 crbug.com/626703 [ Mac11 ] virtual/plz-dedicated-worker/external/wpt/fetch/metadata/redirect/multiple-redirect-https-downgrade-upgrade.sub.html [ Timeout ]
 crbug.com/626703 [ Mac11 ] virtual/plz-dedicated-worker/external/wpt/html/cross-origin-embedder-policy/credentialless/link.tentative.https.window.html [ Timeout ]
@@ -7435,9 +7428,9 @@
 crbug.com/1272352 virtual/threaded/http/tests/devtools/isolated-code-cache/stale-revalidation-test.js [ Skip ]
 crbug.com/1272376 virtual/scroll-unification/plugins/plugin-document-back-forward.html [ Failure Pass ]
 
-# Flaky on mac
-crbug.com/1300772 [ Mac ] http/tests/devtools/oopif/oopif-elements-nesting-error-page.js [ Failure Pass ]
-crbug.com/1300772 [ Mac ] http/tests/devtools/coverage/coverage-view-unused.js [ Failure Pass ]
+# Flaky on multiple platforms
+crbug.com/1300772 http/tests/devtools/oopif/oopif-elements-nesting-error-page.js [ Failure Pass ]
+crbug.com/1300772 http/tests/devtools/coverage/coverage-view-unused.js [ Failure Pass ]
 
 # Flaky on Mac and Windows
 crbug.com/1272199 external/wpt/websockets/stream/tentative/backpressure-receive.any.serviceworker.html?wpt_flags=h2 [ Failure Pass ]
@@ -7778,3 +7771,6 @@
 crbug.com/1307741 [ Mac ] external/wpt/webaudio/the-audio-api/the-mediastreamaudiosourcenode-interface/mediastreamaudiosourcenode-routing.html [ Timeout ]
 crbug.com/1307741 external/wpt/webaudio/the-audio-api/the-pannernode-interface/pannernode-basic.html [ Timeout ]
 crbug.com/1307741 webaudio/AudioParam/audioparam-k-rate.html [ Timeout ]
+
+# Sheriff 2022-03-21: Flaky on Mac (https://crbug.com/1307882).
+crbug.com/1307882 [ Mac ] fast/webgl/texImage-imageBitmap-from-blob-resize.html [ Failure Pass  ]
diff --git a/third_party/blink/web_tests/external/wpt/css/css-break/flexbox/button-in-multicol-crash.html b/third_party/blink/web_tests/external/wpt/css/css-break/flexbox/button-in-multicol-crash.html
new file mode 100644
index 0000000..30e3735
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-break/flexbox/button-in-multicol-crash.html
@@ -0,0 +1,7 @@
+<!DOCTYPE html>
+<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1277724">
+<p>PASS if no crash or DCHECK failure.</p>
+<div style="columns:2;">
+  x
+  <button style="display:block;"></button>
+</div>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-break/flexbox/single-line-column-flex-fragmentation-037.html b/third_party/blink/web_tests/external/wpt/css/css-break/flexbox/single-line-column-flex-fragmentation-037.html
new file mode 100644
index 0000000..f4ce7620
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-break/flexbox/single-line-column-flex-fragmentation-037.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<title>
+  Single-line column flex fragmentation: nested forced break with overflow.
+</title>
+<link rel="help" href="https://drafts.csswg.org/css-flexbox-1/#pagination">
+<link rel="match" href="../../reference/ref-filled-green-100px-square.xht">
+<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+<div style="width: 100px; height: 100px; columns: 2; column-fill: auto; column-gap: 0; background: red;">
+  <div style="display: flex; flex-flow: column;">
+    <div style="height: 100px; width: 50px; background: green;">
+      <div style="height: 50px; width: 50px; background: green;"></div>
+      <div style="height: 10px; width: 50px; background: green; break-before: column;"></div>
+    </div>
+    <div style="height: 50px; width: 50px; background: green; margin-top: 10px;"></div>
+    <div style="height: 40px; width: 50px; background: green;"></div>
+  </div>
+</div>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-break/flexbox/single-line-column-flex-fragmentation-038.html b/third_party/blink/web_tests/external/wpt/css/css-break/flexbox/single-line-column-flex-fragmentation-038.html
new file mode 100644
index 0000000..a537ee7
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-break/flexbox/single-line-column-flex-fragmentation-038.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<title>
+  Single-line column flex fragmentation: forced breaks with overflow.
+</title>
+<link rel="help" href="https://drafts.csswg.org/css-flexbox-1/#pagination">
+<link rel="match" href="../../reference/ref-filled-green-100px-square.xht">
+<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+<div style="width: 100px; height: 100px; columns: 2; column-fill: auto; column-gap: 0; background: red;">
+  <div style="display: flex; flex-flow: column;">
+    <div style="height: 100px; width: 50px; background: green;">
+      <div style="height: 50px; width: 50px; background: green;"></div>
+      <div style="height: 10px; width: 50px; background: green; break-before: column;"></div>
+    </div>
+    <div style="height: 50px; width: 50px; background: green; margin-top: 10px; break-before: column;"></div>
+    <div style="height: 40px; width: 50px; background: green;"></div>
+  </div>
+</div>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-break/flexbox/slider-in-multicol-crash.html b/third_party/blink/web_tests/external/wpt/css/css-break/flexbox/slider-in-multicol-crash.html
new file mode 100644
index 0000000..8cc2ec6
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-break/flexbox/slider-in-multicol-crash.html
@@ -0,0 +1,7 @@
+<!DOCTYPE html>
+<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1277724">
+<p>PASS if no crash or DCHECK failure.</p>
+<div style="columns:2;">
+  x
+  <input type="range" style="display:block;">
+</div>
diff --git a/third_party/blink/web_tests/external/wpt/loading/early-hints/multiple-early-hints-responses.h2.window.js b/third_party/blink/web_tests/external/wpt/loading/early-hints/multiple-early-hints-responses.h2.window.js
new file mode 100644
index 0000000..24230c07
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/loading/early-hints/multiple-early-hints-responses.h2.window.js
@@ -0,0 +1,10 @@
+// META: script=/common/utils.js
+// META: script=resources/early-hints-helpers.sub.js
+
+test(() => {
+    const params = new URLSearchParams();
+    params.set("first-preload", SAME_ORIGIN_RESOURCES_URL + "/empty.js?" + token());
+    params.set("second-preload", SAME_ORIGIN_RESOURCES_URL + "/empty.js?" + token());
+    const test_url = "resources/multiple-early-hints-responses.h2.py?" + params.toString();
+    window.location.replace(new URL(test_url, window.location));
+});
\ No newline at end of file
diff --git a/third_party/blink/web_tests/external/wpt/loading/early-hints/resources/multiple-early-hints-responses.h2.py b/third_party/blink/web_tests/external/wpt/loading/early-hints/resources/multiple-early-hints-responses.h2.py
new file mode 100644
index 0000000..70f2476
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/loading/early-hints/resources/multiple-early-hints-responses.h2.py
@@ -0,0 +1,35 @@
+import os
+
+
+def handle_headers(frame, request, response):
+    # Send two Early Hints responses.
+
+    first_preload = request.GET.first(b"first-preload").decode()
+    link_header_value = "<{}>; rel=preload; as=script".format(first_preload)
+    early_hints = [
+        (b":status", b"103"),
+        (b"link", link_header_value),
+    ]
+    response.writer.write_raw_header_frame(headers=early_hints,
+                                           end_headers=True)
+
+    second_preload = request.GET.first(b"second-preload").decode()
+    link_header_value = "<{}>; rel=preload; as=script".format(second_preload)
+    early_hints = [
+        (b":status", b"103"),
+        (b"link", link_header_value),
+    ]
+    response.writer.write_raw_header_frame(headers=early_hints,
+                                           end_headers=True)
+
+    response.status = 200
+    response.headers[b"content-type"] = "text/html"
+    response.write_status_headers()
+
+
+def main(request, response):
+    current_dir = os.path.dirname(os.path.realpath(__file__))
+    file_path = os.path.join(current_dir, "multiple-early-hints-responses.html")
+    with open(file_path, "r") as f:
+        test_content = f.read()
+    response.writer.write_data(item=test_content, last=True)
diff --git a/third_party/blink/web_tests/external/wpt/loading/early-hints/resources/multiple-early-hints-responses.html b/third_party/blink/web_tests/external/wpt/loading/early-hints/resources/multiple-early-hints-responses.html
new file mode 100644
index 0000000..3be2852
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/loading/early-hints/resources/multiple-early-hints-responses.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="early-hints-helpers.sub.js"></script>
+<body>
+<script>
+promise_test(async (t) => {
+    const params = new URLSearchParams(window.location.search);
+
+    const first_preload = params.get("first-preload");
+    await fetchScript(first_preload);
+    assert_true(isPreloadedByEarlyHints(first_preload));
+
+    const second_preload = params.get("second-preload");
+    await fetchScript(second_preload);
+    assert_false(isPreloadedByEarlyHints(second_preload));
+}, "Only the first early hints response is processed");
+</script>
+</body>
diff --git a/third_party/blink/web_tests/external/wpt/paint-timing/fcp-only/fcp-document-opacity-image.html b/third_party/blink/web_tests/external/wpt/paint-timing/fcp-only/fcp-document-opacity-image.html
new file mode 100644
index 0000000..7f211324
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/paint-timing/fcp-only/fcp-document-opacity-image.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html class="hide">
+<head>
+<title>Performance Paint Timing Test: Image FCP due to the documentElement's opacity</title>
+<style>
+    html {
+      will-change: opacity;
+    }
+    .hide {
+        opacity: 0;
+    }
+</style>
+</head>
+<body>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../resources/utils.js"></script>
+<div id="main"></div>
+<script>
+// Load the image, add it to the DOM and make sure it's decoded.
+const load_image = () => {
+  const img = document.createElement("img");
+  img.src = "../resources/circles.png";
+  document.body.appendChild(img);
+  return img.decode();
+};
+
+const change_opacity = () => {
+  document.documentElement.className = "";
+}
+
+promise_test(async t => {
+  assert_implements(window.PerformancePaintTiming, "Paint Timing isn't supported.");
+  await load_image();
+  await assertNoFirstContentfulPaint(t);
+  change_opacity();
+  await waitForAnimationFrames(3);
+  const fcp_entries = performance.getEntriesByName('first-contentful-paint');
+  assert_equals(fcp_entries.length, 1, "Got an FCP entry");
+  const lcp_entries = await new Promise(resolve => {new PerformanceObserver((list) => resolve(list.getEntries())).observe({type: 'largest-contentful-paint', buffered: true})});
+  assert_equals(lcp_entries.length, 1, "Got an LCP entry");
+  assert_less_than_equal(fcp_entries[0].startTime, lcp_entries[0].startTime, "LCP is not smaller than FCP");
+}, "Test that FCP after opacity change is not a larger value than LCP");
+</script>
+</body>
+</html>
+
diff --git a/third_party/blink/web_tests/external/wpt/paint-timing/fcp-only/fcp-document-opacity-text.html b/third_party/blink/web_tests/external/wpt/paint-timing/fcp-only/fcp-document-opacity-text.html
new file mode 100644
index 0000000..12384d5
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/paint-timing/fcp-only/fcp-document-opacity-text.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html class="hide">
+<head>
+<title>Performance Paint Timing Test: Text FCP due to the documentElement's opacity</title>
+<style>
+    html {
+      will-change: opacity;
+    }
+    .hide {
+        opacity: 0;
+    }
+</style>
+</head>
+<body>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../resources/utils.js"></script>
+<div id="main">This is content that is extremely contentful.</div>
+<script>
+const change_opacity = () => {
+  document.documentElement.className = "";
+}
+
+promise_test(async t => {
+  assert_implements(window.PerformancePaintTiming, "Paint Timing isn't supported.");
+  await assertNoFirstContentfulPaint(t);
+  change_opacity();
+  await waitForAnimationFrames(3);
+  const fcp_entries = performance.getEntriesByName('first-contentful-paint');
+  assert_equals(fcp_entries.length, 1, "Got an FCP entry");
+  const lcp_entries = await new Promise(resolve => {new PerformanceObserver((list) => resolve(list.getEntries())).observe({type: 'largest-contentful-paint', buffered: true})});
+  assert_equals(lcp_entries.length, 1, "Got an LCP entry");
+  assert_less_than_equal(fcp_entries[0].startTime, lcp_entries[0].startTime, "LCP is not smaller than FCP");
+}, "Test that FCP after opacity change is not a larger value than LCP");
+</script>
+</body>
+</html>
+
+
diff --git a/third_party/freetype/README.chromium b/third_party/freetype/README.chromium
index 8e106df..92e20d9 100644
--- a/third_party/freetype/README.chromium
+++ b/third_party/freetype/README.chromium
@@ -1,7 +1,7 @@
 Name: FreeType
 URL: http://www.freetype.org/
-Version: VER-2-11-1-124-ga960be9e5
-Revision: a960be9e5e9846e1e4e8d2254e0b405fbf84346b
+Version: VER-2-11-1-125-gfc15ebe0a
+Revision: fc15ebe0a629acf769ed8976e3d5b84ee4e01236
 CPEPrefix: cpe:/a:freetype:freetype:2.11.1
 License: Custom license "inspired by the BSD, Artistic, and IJG (Independent
          JPEG Group) licenses"
diff --git a/tools/clang/scripts/build.py b/tools/clang/scripts/build.py
index a68eb85..11e5926 100755
--- a/tools/clang/scripts/build.py
+++ b/tools/clang/scripts/build.py
@@ -683,8 +683,6 @@
 
   if sys.platform == 'win32':
     base_cmake_args.append('-DLLVM_USE_CRT_RELEASE=MT')
-    # TODO(crbug.com/1292528): We need Visual Studio 19.27 or later.
-    base_cmake_args.append('-DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON')
 
     # Require zlib compression.
     zlib_dir = AddZlibToPath()
diff --git a/tools/grit/repack.gni b/tools/grit/repack.gni
index df4d8d0..33655917 100644
--- a/tools/grit/repack.gni
+++ b/tools/grit/repack.gni
@@ -16,6 +16,9 @@
 #   copy_data_to_bundle [optional]
 #       Whether to define a bundle_data() for the resulting pak.
 #
+#   mark_as_data
+#       Whether to add the resulting pak to |data|.
+#
 #   bundle_output [optional]
 #       Path of the file in the application bundle, defaults to
 #       {{bundle_resources_dir}}/{{source_file_part}}.
@@ -65,6 +68,10 @@
       "${invoker.output}.info",
     ]
 
+    if (defined(invoker.mark_as_data) && invoker.mark_as_data) {
+      data = [ invoker.output ]
+    }
+
     args = [ "repack" ]
     if (defined(invoker.repack_allowlist)) {
       inputs += [ invoker.repack_allowlist ]
@@ -154,10 +161,11 @@
     repack(_current_name) {
       forward_variables_from(invoker,
                              [
-                               "copy_data_to_bundle",
                                "bundle_output",
                                "compress",
+                               "copy_data_to_bundle",
                                "deps",
+                               "mark_as_data",
                                "repack_allowlist",
                                "testonly",
                              ])
@@ -188,8 +196,5 @@
                              "testonly",
                            ])
     public_deps = _locale_targets
-    if (!defined(invoker.copy_data_to_bundle) || !invoker.copy_data_to_bundle) {
-      data_deps = public_deps
-    }
   }
 }
diff --git a/tools/memory/partition_allocator/inspect_utils.cc b/tools/memory/partition_allocator/inspect_utils.cc
index 5f6a53d..1685c7c7 100644
--- a/tools/memory/partition_allocator/inspect_utils.cc
+++ b/tools/memory/partition_allocator/inspect_utils.cc
@@ -4,6 +4,8 @@
 
 #include "tools/memory/partition_allocator/inspect_utils.h"
 
+#include <sys/mman.h>
+
 #include "base/allocator/partition_allocator/thread_cache.h"
 #include "base/debug/proc_maps_linux.h"
 #include "base/logging.h"
@@ -29,6 +31,48 @@
   return false;
 }
 
+char* CreateMappingAtAddress(uintptr_t address, size_t size) {
+  CHECK_EQ(0u, address % base::SystemPageSize());
+  CHECK_EQ(0u, size % base::SystemPageSize());
+  // Not using MAP_FIXED since it would *overwrite* an existing
+  // mapping. Instead, just provide a hint address, which will be used if
+  // possible.
+  void* local_memory =
+      mmap(reinterpret_cast<void*>(address), size, PROT_READ | PROT_WRITE,
+           MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
+  if (local_memory == MAP_FAILED) {
+    LOG(WARNING) << "Cannot map memory at required address";
+    return nullptr;
+  }
+  if (local_memory != reinterpret_cast<void*>(address)) {
+    LOG(WARNING) << "Mapping successful, but not at the desired address. "
+                 << "Retry to get better luck with ASLR?";
+    munmap(local_memory, size);
+    return nullptr;
+  }
+
+  return reinterpret_cast<char*>(local_memory);
+}
+
+char* ReadAtSameAddressInLocalMemory(int fd,
+                                     unsigned long address,
+                                     size_t size) {
+  // Try to allocate data in the local address space.
+  char* local_memory = CreateMappingAtAddress(address, size);
+  if (!local_memory)
+    return nullptr;
+
+  bool ok =
+      ReadMemory(fd, address, size, reinterpret_cast<char*>(local_memory));
+
+  if (!ok) {
+    munmap(local_memory, size);
+    return nullptr;
+  }
+
+  return reinterpret_cast<char*>(local_memory);
+}
+
 uintptr_t IndexThreadCacheNeedleArray(pid_t pid, int mem_fd, size_t index) {
   std::vector<base::debug::MappedMemoryRegion> regions;
   DCHECK_LT(index,
diff --git a/tools/memory/partition_allocator/inspect_utils.h b/tools/memory/partition_allocator/inspect_utils.h
index a909f7e..3c5c4fe 100644
--- a/tools/memory/partition_allocator/inspect_utils.h
+++ b/tools/memory/partition_allocator/inspect_utils.h
@@ -33,8 +33,18 @@
 
 base::ScopedFD OpenProcMem(pid_t pid);
 
+// Reads remove process memory from |fd| at |address| into |buffer|.
 bool ReadMemory(int fd, unsigned long address, size_t size, char* buffer);
 
+// Creates a RW memory mapping at |address|, or returns nullptr.
+char* CreateMappingAtAddress(uintptr_t address, size_t size);
+
+// Reads page-aligned memory from a remote process pointed at by |fd| at
+// |address| in both address spaces, or returns nullptr.
+char* ReadAtSameAddressInLocalMemory(int fd,
+                                     unsigned long address,
+                                     size_t size);
+
 uintptr_t IndexThreadCacheNeedleArray(pid_t pid, int mem_fd, size_t index);
 
 // Allows to access an object copied from remote memory "as if" it were
@@ -58,6 +68,12 @@
     return {buf};
   }
 
+  static RawBuffer<T> FromData(const void* data) {
+    RawBuffer<T> ret;
+    memcpy(ret.buffer_, data, sizeof(T));
+    return ret;
+  }
+
  private:
   alignas(T) char buffer_[sizeof(T)];
 };
diff --git a/tools/memory/partition_allocator/pa_dump_heap.cc b/tools/memory/partition_allocator/pa_dump_heap.cc
index 42fa8bcf..26e5de2f 100644
--- a/tools/memory/partition_allocator/pa_dump_heap.cc
+++ b/tools/memory/partition_allocator/pa_dump_heap.cc
@@ -4,7 +4,9 @@
 
 // Dumps PartitionAlloc's heap into a file.
 
+#include <sys/mman.h>
 #include <cstdlib>
+#include <cstring>
 #include <string>
 
 #include "base/allocator/partition_allocator/partition_root.h"
@@ -24,17 +26,57 @@
 class HeapDumper {
  public:
   HeapDumper(pid_t pid, int mem_fd) : pid_(pid), mem_fd_(mem_fd) {}
+  ~HeapDumper() {
+    for (const auto& p : super_pages_) {
+      munmap(p.second, kSuperPageSize);
+    }
+    if (local_root_copy_mapping_base_) {
+      munmap(local_root_copy_mapping_base_, local_root_copy_mapping_size_);
+    }
+  }
 
-  void FindRoot() {
+  bool FindRoot() {
     root_address_ = FindRootAddress(pid_, mem_fd_);
     CHECK(root_address_);
     auto root = RawBuffer<PartitionRoot<ThreadSafe>>::ReadFromMemFd(
         mem_fd_, root_address_);
     CHECK(root);
     root_ = *root;
+
+    // Since the heap if full of pointers, copying the data to the local address
+    // space doesn't allow to follow the pointers, or to call most member
+    // functions on the local objects.
+    //
+    // To make it easier to work with, we copy some objects in the local address
+    // space at the *same* address used in the remote process. This is not
+    // guaranteed to work though, since the addresses can already be mapped in
+    // the local process. However, since we are targeting 64 bit Linux, with
+    // ASLR executing again should solve the problem in most cases.
+    //
+    // Copy at the same address as in the remote process. Since the root is not
+    // page-aligned in the remote process, need to pad the mapping a bit.
+    size_t size_to_map = base::bits::AlignUp(
+        sizeof(PartitionRoot<ThreadSafe>) + SystemPageSize(), SystemPageSize());
+    uintptr_t address_to_map =
+        base::bits::AlignDown(root_address_, SystemPageSize());
+    char* local_memory = CreateMappingAtAddress(address_to_map, size_to_map);
+    if (!local_memory) {
+      LOG(WARNING) << base::StringPrintf(
+          "Cannot map memory at %lx",
+          reinterpret_cast<uintptr_t>(address_to_map));
+      return false;
+    }
+    local_root_copy_ = local_memory;
+
+    memcpy(reinterpret_cast<void*>(root_address_), root_.get(),
+           sizeof(PartitionRoot<ThreadSafe>));
+    local_root_copy_mapping_base_ = reinterpret_cast<void*>(address_to_map);
+    local_root_copy_mapping_size_ = size_to_map;
+
+    return true;
   }
 
-  void DumpSuperPages() {
+  bool DumpSuperPages() {
     std::vector<uintptr_t> super_pages;
     // There is no list of super page, only a list of extents. Walk the extent
     // list to get all superpages.
@@ -60,31 +102,60 @@
     LOG(WARNING) << "Found " << super_pages.size() << std::hex
                  << " super pages.";
     for (uintptr_t super_page : super_pages) {
-      auto super_page_data =
-          std::make_unique<std::array<char, kSuperPageSize>>();
-      bool ok = ReadMemory(mem_fd_, super_page, kSuperPageSize,
-                           super_page_data->data());
-      if (!ok) {
+      char* local_super_page =
+          ReadAtSameAddressInLocalMemory(mem_fd_, super_page, kSuperPageSize);
+      if (!local_super_page) {
         LOG(WARNING) << base::StringPrintf("Cannot read from super page 0x%lx",
                                            super_page);
         continue;
       }
-      super_pages_.emplace(super_page, std::move(super_page_data));
+      super_pages_.emplace(super_page, local_super_page);
     }
     LOG(WARNING) << "Read all super pages";
+    return true;
   }
 
   base::Value Dump() const {
-    auto partition_page_to_value =
-        [](uintptr_t offset,
-           const std::array<char, kSuperPageSize>& data) -> base::Value {
+    auto partition_page_to_value = [](uintptr_t offset,
+                                      const char* data) -> base::Value {
       auto ret = base::Value(base::Value::Type::DICTIONARY);
+      std::string value;
       if (offset == 0) {
-        ret.SetKey("type", base::Value{"metadata"});
+        value = "metadata";
       } else if (offset == kSuperPageSize - PartitionPageSize()) {
-        ret.SetKey("type", base::Value{"guard"});
+        value = "guard";
       } else {
-        ret.SetKey("type", base::Value{"payload"});
+        value = "payload";
+      }
+      ret.SetKey("type", base::Value{value});
+
+      if (value != "metadata" && value != "guard") {
+        const auto* partition_page = PartitionPage<ThreadSafe>::FromAddr(
+            reinterpret_cast<uintptr_t>(data + offset));
+        ret.SetKey("page_index_in_span",
+                   base::Value{partition_page->slot_span_metadata_offset});
+        if (partition_page->slot_span_metadata_offset == 0 &&
+            partition_page->slot_span_metadata.bucket) {
+          const auto& slot_span_metadata = partition_page->slot_span_metadata;
+          ret.SetKey("slot_size", base::Value{static_cast<int>(
+                                      slot_span_metadata.bucket->slot_size)});
+          ret.SetKey("is_active", base::Value{slot_span_metadata.is_active()});
+          ret.SetKey("is_full", base::Value{slot_span_metadata.is_full()});
+          ret.SetKey("is_empty", base::Value{slot_span_metadata.is_empty()});
+          ret.SetKey("is_decommitted",
+                     base::Value{slot_span_metadata.is_decommitted()});
+          ret.SetKey("slots_per_span",
+                     base::Value{static_cast<int>(
+                         slot_span_metadata.bucket->get_slots_per_span())});
+          ret.SetKey(
+              "num_system_pages_per_slot_span",
+              base::Value{static_cast<int>(
+                  slot_span_metadata.bucket->num_system_pages_per_slot_span)});
+          ret.SetKey("num_allocated_slots",
+                     base::Value{slot_span_metadata.num_allocated_slots});
+          ret.SetKey("num_unprovisioned_slots",
+                     base::Value{slot_span_metadata.num_unprovisioned_slots});
+        }
       }
 
       bool all_zeros = true;
@@ -97,9 +168,8 @@
       ret.SetKey("all_zeros", base::Value{all_zeros});
       return ret;
     };
-    auto super_page_to_value =
-        [&](uintptr_t address,
-            const std::array<char, kSuperPageSize>& data) -> base::Value {
+    auto super_page_to_value = [&](uintptr_t address,
+                                   const char* data) -> base::Value {
       auto ret = base::Value(base::Value::Type::DICTIONARY);
       ret.SetKey("address", base::Value{base::StringPrintf("0x%lx", address)});
 
@@ -116,7 +186,7 @@
     auto super_pages_value = base::Value(base::Value::Type::LIST);
     for (const auto& address_data : super_pages_) {
       super_pages_value.Append(
-          super_page_to_value(address_data.first, *address_data.second));
+          super_page_to_value(address_data.first, address_data.second));
     }
 
     return super_pages_value;
@@ -149,10 +219,14 @@
 
   const pid_t pid_;
   const int mem_fd_;
-  uintptr_t root_address_;
-  RawBuffer<PartitionRoot<ThreadSafe>> root_;
-  std::map<uintptr_t, std::unique_ptr<std::array<char, kSuperPageSize>>>
-      super_pages_;
+  uintptr_t root_address_ = 0;
+  RawBuffer<PartitionRoot<ThreadSafe>> root_ = {};
+  std::map<uintptr_t, char*> super_pages_ = {};
+
+  char* local_root_copy_ = nullptr;
+
+  void* local_root_copy_mapping_base_ = nullptr;
+  size_t local_root_copy_mapping_size_ = 0;
 };
 
 }  // namespace partition_alloc::internal::tools
@@ -174,8 +248,13 @@
 
   {
     partition_alloc::internal::tools::ScopedSigStopper stopper{pid};
-    dumper.FindRoot();
-    dumper.DumpSuperPages();
+    if (!dumper.FindRoot()) {
+      LOG(WARNING) << "Cannot find (or copy) the root";
+      return 1;
+    }
+    if (!dumper.DumpSuperPages()) {
+      LOG(WARNING) << "Cannot dump (or copy) super pages.";
+    }
   }
 
   auto dump = dumper.Dump();
diff --git a/tools/memory/partition_allocator/plot_superpages.py b/tools/memory/partition_allocator/plot_superpages.py
index f1c40d5b..387f1aa 100755
--- a/tools/memory/partition_allocator/plot_superpages.py
+++ b/tools/memory/partition_allocator/plot_superpages.py
@@ -13,6 +13,7 @@
 """
 
 import argparse
+import math
 import json
 
 import matplotlib
@@ -34,33 +35,66 @@
   address_to_superpage = {superpage['address']: superpage for superpage in data}
   addresses = sorted(address_to_superpage.keys())
 
+  BLACK = (0., 0., 0.)
+  GRAY = (.5, .5, .5)
+  RED = (1., 0., 0.)
+  GREEN = (0., .8, 0.)
+  WHITE = (1., 1., 1.)
+  cmap = matplotlib.cm.get_cmap('coolwarm')
+
   for superpage_index in range(len(addresses)):
     superpage = address_to_superpage[addresses[superpage_index]]
     for index, partition_page in enumerate(superpage['partition_pages']):
-      value = 0
+      value = None
       if partition_page['type'] == 'metadata':
-        value = (0., 0., 0.)
+        value = BLACK
       elif partition_page['type'] == 'guard':
-        value = (.5, .5, .5)
-      elif partition_page['all_zeros']:
-        value = (1., 0., 0.)
-      else:
-        value = (0., 1., 0.)
-      data_np[superpage_index, index, :] = value
+        value = GRAY
+      elif partition_page['all_zeros'] and not 'is_active' in partition_page:
+        # Otherwise it may be the subsequent partition page of a decommitted
+        # slot span.
+        if partition_page['page_index_in_span'] == 0:
+          value = WHITE
 
-  plt.figure(figsize=(20, 14))
+      if value is not None:
+        data_np[superpage_index, index] = value
+        continue
+
+      assert partition_page['type'] == 'payload'
+      if partition_page['page_index_in_span'] == 0:
+        num_partition_pages_in_slot_span = math.ceil(
+            partition_page['num_system_pages_per_slot_span'] / 4)
+        if partition_page['is_decommitted'] or partition_page['is_empty']:
+          value = GREEN
+        else:
+          fullness = (partition_page['num_allocated_slots'] /
+                      partition_page['slots_per_span'])
+          value = cmap(fullness)[:3]
+        data_np[superpage_index, index:index +
+                num_partition_pages_in_slot_span, :] = value
+
+  plt.figure(figsize=(20, len(address_to_superpage) / 2))
   plt.imshow(data_np)
   plt.title('Super page map')
   plt.yticks(ticks=range(len(addresses)), labels=addresses)
   plt.xlabel('PartitionPage index')
 
   handles = [
-      matplotlib.patches.Patch(facecolor=(0., 0., 0.), label='Metadata'),
-      matplotlib.patches.Patch(facecolor=(.5, .5, .5), label='Guard'),
-      matplotlib.patches.Patch(facecolor=(1., 0., 0.), label='Free'),
-      matplotlib.patches.Patch(facecolor=(0., 1., 0.), label='Allocated'),
+      matplotlib.patches.Patch(facecolor=BLACK, edgecolor='k',
+                               label='Metadata'),
+      matplotlib.patches.Patch(facecolor=GRAY, edgecolor='k', label='Guard'),
+      matplotlib.patches.Patch(facecolor=WHITE, edgecolor='k', label='Empty'),
+      matplotlib.patches.Patch(facecolor=GREEN,
+                               edgecolor='k',
+                               label='Decommitted'),
+      matplotlib.patches.Patch(facecolor=cmap(0.),
+                               edgecolor='k',
+                               label='Committed Empty'),
+      matplotlib.patches.Patch(facecolor=cmap(1.),
+                               edgecolor='k',
+                               label='Committed Full'),
   ]
-  plt.legend(handles=handles, loc='lower right', fontsize=16)
+  plt.legend(handles=handles, loc='lower left', fontsize=12, framealpha=.7)
 
   plt.savefig(output_filename, bbox_inches='tight')
 
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
index 36fbadde..c0737c4f 100644
--- a/tools/metrics/histograms/enums.xml
+++ b/tools/metrics/histograms/enums.xml
@@ -74792,7 +74792,7 @@
   <int value="15" label="Add new profile button"/>
   <int value="16" label="Sync settings(sync on) button"/>
   <int value="17" label="Edit profile button"/>
-  <int value="18" label="Create incognito shortcut button"/>
+  <int value="18" label="Create incognito shortcut button (deprecated)"/>
 </enum>
 
 <enum name="ProfileNameState">
diff --git a/tools/metrics/histograms/metadata/android/histograms.xml b/tools/metrics/histograms/metadata/android/histograms.xml
index 83e92a0..a3f91a1 100644
--- a/tools/metrics/histograms/metadata/android/histograms.xml
+++ b/tools/metrics/histograms/metadata/android/histograms.xml
@@ -3799,6 +3799,9 @@
 
 <histogram name="Android.WebView.PageTimeSpent2.{Scheme}{Party}" units="ms"
     expires_after="2022-07-01">
+  <obsolete>
+    Deprecated in March 2022.
+  </obsolete>
   <owner>mvanouwerkerk@chromium.org</owner>
   <owner>src/android_webview/OWNERS</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/others/histograms.xml b/tools/metrics/histograms/metadata/others/histograms.xml
index 9da24556..7fc7e58 100644
--- a/tools/metrics/histograms/metadata/others/histograms.xml
+++ b/tools/metrics/histograms/metadata/others/histograms.xml
@@ -241,7 +241,7 @@
 </histogram>
 
 <histogram name="Ads.InterestGroup.Auction.CompletedWithoutWinnerTime"
-    units="ms" expires_after="2022-03-31">
+    units="ms" expires_after="2022-08-31">
   <owner>mmenke@chromium.org</owner>
   <owner>morlovich@chromium.org</owner>
   <summary>
@@ -257,7 +257,7 @@
 </histogram>
 
 <histogram name="Ads.InterestGroup.Auction.First6AuctionsBitsPerPage"
-    units="bitfield" expires_after="2022-03-31">
+    units="bitfield" expires_after="2022-08-31">
   <owner>caraitto@chromium.org</owner>
   <owner>pauljensen@chromium.org</owner>
   <owner>privacy-sandbox-dev@chromium.org</owner>
@@ -280,7 +280,7 @@
 </histogram>
 
 <histogram name="Ads.InterestGroup.Auction.NumAuctionsPerPage" units="auctions"
-    expires_after="2022-03-31">
+    expires_after="2022-08-31">
   <owner>caraitto@chromium.org</owner>
   <owner>pauljensen@chromium.org</owner>
   <owner>privacy-sandbox-dev@chromium.org</owner>
@@ -297,7 +297,7 @@
 </histogram>
 
 <histogram name="Ads.InterestGroup.Auction.NumAuctionsSkippedDueToAuctionLimit"
-    units="auctions" expires_after="2022-03-31">
+    units="auctions" expires_after="2022-08-31">
   <owner>caraitto@chromium.org</owner>
   <owner>pauljensen@chromium.org</owner>
   <owner>privacy-sandbox-dev@chromium.org</owner>
@@ -328,7 +328,7 @@
 </histogram>
 
 <histogram name="Ads.InterestGroup.Auction.NumOwnersWithInterestGroups"
-    units="owners" expires_after="2022-07-31">
+    units="owners" expires_after="2022-08-31">
   <owner>mmenke@chromium.org</owner>
   <owner>morlovich@chromium.org</owner>
   <summary>
@@ -345,7 +345,7 @@
 </histogram>
 
 <histogram name="Ads.InterestGroup.Auction.PercentAuctionsSuccessfulPerPage"
-    units="%" expires_after="2022-03-31">
+    units="%" expires_after="2022-08-31">
   <owner>caraitto@chromium.org</owner>
   <owner>pauljensen@chromium.org</owner>
   <owner>privacy-sandbox-dev@chromium.org</owner>
@@ -376,7 +376,7 @@
 </histogram>
 
 <histogram name="Ads.InterestGroup.Auction.TimeSinceLastAuctionPerPage"
-    units="ms" expires_after="2022-03-31">
+    units="ms" expires_after="2022-08-31">
   <owner>caraitto@chromium.org</owner>
   <owner>pauljensen@chromium.org</owner>
   <owner>privacy-sandbox-dev@chromium.org</owner>
diff --git a/tools/perf/core/perfetto_binary_roller/binary_deps.json b/tools/perf/core/perfetto_binary_roller/binary_deps.json
index 65e7a96c..ffe8f59 100644
--- a/tools/perf/core/perfetto_binary_roller/binary_deps.json
+++ b/tools/perf/core/perfetto_binary_roller/binary_deps.json
@@ -6,7 +6,7 @@
         },
         "win": {
             "hash": "53c618b67ce210b30d3926ec1f5260543ef818eb",
-            "remote_path": "perfetto_binaries/trace_processor_shell/win/5f95e723334de734243833fd44456be8951ff0a0/trace_processor_shell.exe"
+            "remote_path": "perfetto_binaries/trace_processor_shell/win/cf85fb3460efcdd2213a4835b55e9fb09a33a447/trace_processor_shell.exe"
         },
         "linux_arm": {
             "hash": "58893933be305d3bfe0a72ebebcacde2ac3ca893",
@@ -14,7 +14,7 @@
         },
         "mac": {
             "hash": "72ae2950a4333c3450bee06ba63cbe4578da7ddb",
-            "remote_path": "perfetto_binaries/trace_processor_shell/mac/5f95e723334de734243833fd44456be8951ff0a0/trace_processor_shell"
+            "remote_path": "perfetto_binaries/trace_processor_shell/mac/cf85fb3460efcdd2213a4835b55e9fb09a33a447/trace_processor_shell"
         },
         "mac_arm64": {
             "hash": "c0397e87456ad6c6a7aa0133e5b81c97adbab4ab",
@@ -22,7 +22,7 @@
         },
         "linux": {
             "hash": "6b0a9130ba5c2cc1c6ff67bf6fa3064297bc7f19",
-            "remote_path": "perfetto_binaries/trace_processor_shell/linux/5f95e723334de734243833fd44456be8951ff0a0/trace_processor_shell"
+            "remote_path": "perfetto_binaries/trace_processor_shell/linux/cf85fb3460efcdd2213a4835b55e9fb09a33a447/trace_processor_shell"
         }
     },
     "power_profile.sql": {
diff --git a/ui/chromeos/translations/ui_chromeos_strings_da.xtb b/ui/chromeos/translations/ui_chromeos_strings_da.xtb
index d91c8f4b..b397afc 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_da.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_da.xtb
@@ -31,6 +31,7 @@
 <translation id="1201402288615127009">Næste</translation>
 <translation id="1209796539517632982">Automatiske navneservere</translation>
 <translation id="1210831758834677569">Laotisk</translation>
+<translation id="1223825810409523901">Chrome-udvidelse</translation>
 <translation id="1243314992276662751">Upload</translation>
 <translation id="1249250836236328755">Genre</translation>
 <translation id="1254593899333212300">Direkte internetforbindelse</translation>
@@ -80,6 +81,7 @@
 <translation id="166439687370499867">Det er ikke tilladt at ændre delte netværkskonfigurationer</translation>
 <translation id="1665611772925418501">Filen kunne ikke ændres.</translation>
 <translation id="1673103856845176271">Der kunne ikke opnås adgang til filen af sikkerhedsmæssige årsager.</translation>
+<translation id="16762847117768727">ISO-billede</translation>
 <translation id="169515659049020177">Shift</translation>
 <translation id="1715848075824334077">Cykling</translation>
 <translation id="1722487484194605434">Komprimerer <ph name="NUMBER_OF_ITEMS" /> elementer...</translation>
@@ -811,6 +813,7 @@
 <translation id="7925686952655276919">Brug ikke mobildata til synkronisering</translation>
 <translation id="7928710562641958568">Skub enheden ud</translation>
 <translation id="7943385054491506837">Amerikansk (Colemak)</translation>
+<translation id="7948417415021769876">7z-arkiv</translation>
 <translation id="7953739707111622108">Denne enhed kan ikke åbnes, fordi dens filsystem ikke blev genkendt.</translation>
 <translation id="7969525169268594403">Slovensk</translation>
 <translation id="7972920761225148017">Fransk (Schweiz)</translation>
@@ -860,6 +863,7 @@
 <translation id="8372369524088641025">Ugyldig WEP-nøgle</translation>
 <translation id="8372852072747894550">Græsk</translation>
 <translation id="8386903983509584791">Scanningen er udført</translation>
+<translation id="8387733224523483503"><ph name="FILE_NAME" /> er pakket ud.</translation>
 <translation id="8395901698320285466">Mål</translation>
 <translation id="8408068190360279472"><ph name="NETWORK_TYPE" />-netværk, opretter forbindelse</translation>
 <translation id="8425213833346101688">Skift</translation>
@@ -954,6 +958,7 @@
 <translation id="9174050671906956834">Elementer i papirkurven slettes permanent efter 30 dage.</translation>
 <translation id="9183302530794969518">Google Docs</translation>
 <translation id="9189836632794948435">Kasakhisk</translation>
+<translation id="9200427192836333033"><ph name="NUMBER_OF_ITEMS" /> elementer er pakket ud.</translation>
 <translation id="9213073329713032541">Installationen er startet.</translation>
 <translation id="9219103736887031265">Billeder</translation>
 <translation id="9219908252191632183">Måne</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_pa.xtb b/ui/chromeos/translations/ui_chromeos_strings_pa.xtb
index 02dae7c..8d0f1093 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_pa.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_pa.xtb
@@ -31,6 +31,7 @@
 <translation id="1201402288615127009">ਅੱਗੇ</translation>
 <translation id="1209796539517632982">ਆਟੋਮੈਟਿਕ ਨਾਮ ਸਰਵਰ</translation>
 <translation id="1210831758834677569">ਲਾਓ</translation>
+<translation id="1223825810409523901">Chrome ਐਕਸਟੈਂਸ਼ਨ</translation>
 <translation id="1243314992276662751">ਅਪਲੋਡ ਕਰੋ</translation>
 <translation id="1249250836236328755">ਸ਼ੈਲੀ</translation>
 <translation id="1254593899333212300">ਸਿੱਧਾ ਇੰਟਰਨੈਟ ਕਨੈਕਸ਼ਨ</translation>
@@ -80,6 +81,7 @@
 <translation id="166439687370499867">ਸਾਂਝੇ ਕੀਤੇ ਨੈੱਟਵਰਕ ਸੰਰੂਪਣਾਂ ਨੂੰ ਬਦਲਣ ਦੀ ਇਜਾਜ਼ਤ ਨਹੀਂ ਹੈ</translation>
 <translation id="1665611772925418501">ਫਾਈਲ ਸੰਸ਼ੋਧਿਤ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੇਗੀ।</translation>
 <translation id="1673103856845176271">ਸੁਰੱਖਿਆ ਕਾਰਨਾਂ ਕਰਕੇ ਫਾਈਲ ਤੱਕ ਪਹੁੰਚ ਪ੍ਰਾਪਤ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ।</translation>
+<translation id="16762847117768727">ISO ਚਿੱਤਰ</translation>
 <translation id="169515659049020177">Shift</translation>
 <translation id="1715848075824334077">ਸਾਈਕਲ ਚਲਾਉਣਾ</translation>
 <translation id="1722487484194605434"><ph name="NUMBER_OF_ITEMS" /> ਆਈਟਮਾਂ ਨੂੰ ਜ਼ਿਪ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ...</translation>
@@ -810,6 +812,7 @@
 <translation id="7925686952655276919">ਸਿੰਕ ਕਰਨ ਲਈ ਮੋਬਾਈਲ ਡਾਟਾ ਨਾ ਵਰਤੋ</translation>
 <translation id="7928710562641958568">ਡੀਵਾਈਸ ਹਟਾਓ</translation>
 <translation id="7943385054491506837">US Colemak</translation>
+<translation id="7948417415021769876">7z ਪੁਰਾਲੇਖ</translation>
 <translation id="7953739707111622108">ਇਹ ਡੀਵਾਈਸ ਨਹੀਂ ਖੋਲ੍ਹੀ ਜਾ ਸਕਦੀ ਕਿਉਂਕਿ ਇਸਦਾ ਫਾਈਲਸਿਸਟਮ ਪਛਾਣਿਆ ਨਹੀਂ ਗਿਆ ਸੀ।</translation>
 <translation id="7969525169268594403">Slovenian</translation>
 <translation id="7972920761225148017">ਫਰਾਂਸੀਸੀ (ਸਵਿਟਜ਼ਰਲੈਂਡ)</translation>
@@ -859,6 +862,7 @@
 <translation id="8372369524088641025">ਘਟੀਆ WEP ਕੁੰਜੀ</translation>
 <translation id="8372852072747894550">ਯੂਨਾਨੀ</translation>
 <translation id="8386903983509584791">ਸਕੈਨ ਪੂਰਾ ਹੋਈ</translation>
+<translation id="8387733224523483503"><ph name="FILE_NAME" /> ਨੂੰ ਐਕਸਟ੍ਰੈਕਟ ਕੀਤਾ ਗਿਆ।</translation>
 <translation id="8395901698320285466">ਮਾਪ</translation>
 <translation id="8408068190360279472"><ph name="NETWORK_TYPE" /> ਨੈੱਟਵਰਕ, ਕਨੈਕਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ</translation>
 <translation id="8425213833346101688">ਬਦਲੋ</translation>
@@ -953,6 +957,7 @@
 <translation id="9174050671906956834">ਰੱਦੀ ਵਿਚਲੀਆਂ ਆਈਟਮਾਂ ਨੂੰ 30 ਦਿਨਾਂ ਬਾਅਦ ਹਮੇਸ਼ਾਂ ਲਈ ਮਿਟਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ।</translation>
 <translation id="9183302530794969518">Google Docs</translation>
 <translation id="9189836632794948435">ਕਜ਼ਾਖ</translation>
+<translation id="9200427192836333033"><ph name="NUMBER_OF_ITEMS" /> ਆਈਟਮਾਂ ਨੂੰ ਐਕਸਟ੍ਰੈਕਟ ਕੀਤਾ ਗਿਆ।</translation>
 <translation id="9213073329713032541">ਸਥਾਪਨਾ ਸਫਲਤਾਪੂਰਵਕ ਸ਼ੁਰੂ ਹੋਈ।</translation>
 <translation id="9219103736887031265">ਚਿੱਤਰ</translation>
 <translation id="9219908252191632183">ਚੰਨ ਦਾ ਦ੍ਰਿਸ਼</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_tr.xtb b/ui/chromeos/translations/ui_chromeos_strings_tr.xtb
index 898bef7..5a689e3 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_tr.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_tr.xtb
@@ -31,6 +31,7 @@
 <translation id="1201402288615127009">İleri</translation>
 <translation id="1209796539517632982">Otomatik ad sunucuları</translation>
 <translation id="1210831758834677569">Laoca</translation>
+<translation id="1223825810409523901">Chrome uzantısı</translation>
 <translation id="1243314992276662751">Yükle</translation>
 <translation id="1249250836236328755">Tür</translation>
 <translation id="1254593899333212300">Doğrudan İnternet bağlantısı</translation>
@@ -80,6 +81,7 @@
 <translation id="166439687370499867">Paylaşılan ağ yapılandırmalarının değiştirilmesine izin verilmez</translation>
 <translation id="1665611772925418501">Dosya değiştirilemedi.</translation>
 <translation id="1673103856845176271">Güvenlik nedenleriyle dosyaya erişilemedi.</translation>
+<translation id="16762847117768727">ISO resmi</translation>
 <translation id="169515659049020177">ÜstKrktr</translation>
 <translation id="1715848075824334077">Bisiklet</translation>
 <translation id="1722487484194605434"><ph name="NUMBER_OF_ITEMS" /> öğe sıkıştırılıyor...</translation>
@@ -811,6 +813,7 @@
 <translation id="7925686952655276919">Senkronizasyon için mobil veri kullanma</translation>
 <translation id="7928710562641958568">Cihazı çıkar</translation>
 <translation id="7943385054491506837">ABD Colemak</translation>
+<translation id="7948417415021769876">7z arşivi</translation>
 <translation id="7953739707111622108">Bu cihaz, dosya sistemi tanınmadığından açılamıyor.</translation>
 <translation id="7969525169268594403">Slovence</translation>
 <translation id="7972920761225148017">Fransızca (İsviçre)</translation>
@@ -860,6 +863,7 @@
 <translation id="8372369524088641025">Hatalı WEP anahtarı</translation>
 <translation id="8372852072747894550">Yunanca</translation>
 <translation id="8386903983509584791">Tarama tamamlandı</translation>
+<translation id="8387733224523483503"><ph name="FILE_NAME" /> çıkarıldı.</translation>
 <translation id="8395901698320285466">Boyutlar</translation>
 <translation id="8408068190360279472"><ph name="NETWORK_TYPE" /> ağı, bağlanıyor</translation>
 <translation id="8425213833346101688">Değiştir</translation>
@@ -954,6 +958,7 @@
 <translation id="9174050671906956834">Çöp kutusundaki öğeler 30 gün sonunda tamamıyla silinir.</translation>
 <translation id="9183302530794969518">Google Dokümanlar</translation>
 <translation id="9189836632794948435">Kazakça</translation>
+<translation id="9200427192836333033"><ph name="NUMBER_OF_ITEMS" /> öğe çıkarıldı.</translation>
 <translation id="9213073329713032541">Yükleme işlemi başarıyla başlatıldı.</translation>
 <translation id="9219103736887031265">Resimler</translation>
 <translation id="9219908252191632183">Ay</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_uk.xtb b/ui/chromeos/translations/ui_chromeos_strings_uk.xtb
index 7fa09808d..828c2b0 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_uk.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_uk.xtb
@@ -31,6 +31,7 @@
 <translation id="1201402288615127009">Далі</translation>
 <translation id="1209796539517632982">Імена серверів – автоматично</translation>
 <translation id="1210831758834677569">Лаоська</translation>
+<translation id="1223825810409523901">Розширення Chrome</translation>
 <translation id="1243314992276662751">Завантажити</translation>
 <translation id="1249250836236328755">Жанр</translation>
 <translation id="1254593899333212300">Пряме з'єднання з Інтернетом</translation>
@@ -80,6 +81,7 @@
 <translation id="166439687370499867">Заборонено змінювати налаштування спільної мережі</translation>
 <translation id="1665611772925418501">Файл неможливо змінити.</translation>
 <translation id="1673103856845176271">Доступ до файлу неможливо отримати з міркувань безпеки.</translation>
+<translation id="16762847117768727">ISO-образ</translation>
 <translation id="169515659049020177">Shift</translation>
 <translation id="1715848075824334077">Людина на велосипеді</translation>
 <translation id="1722487484194605434">Архівування елементів (<ph name="NUMBER_OF_ITEMS" />)…</translation>
@@ -811,6 +813,7 @@
 <translation id="7925686952655276919">Не використовувати мобільне передавання даних для синхронізації</translation>
 <translation id="7928710562641958568">Витягнути пристрій</translation>
 <translation id="7943385054491506837">Розкладка Colemak (США)</translation>
+<translation id="7948417415021769876">Архів 7z</translation>
 <translation id="7953739707111622108">Не вдається відкрити пристрій, оскільки його файлову систему не розпізнано.</translation>
 <translation id="7969525169268594403">Словенська</translation>
 <translation id="7972920761225148017">Французька (Швейцарія)</translation>
@@ -860,6 +863,7 @@
 <translation id="8372369524088641025">Поганий WEP-ключ</translation>
 <translation id="8372852072747894550">Грецька</translation>
 <translation id="8386903983509584791">Сканування завершено</translation>
+<translation id="8387733224523483503">Видобуто файл "<ph name="FILE_NAME" />".</translation>
 <translation id="8395901698320285466">Розміри</translation>
 <translation id="8408068190360279472">Мережа <ph name="NETWORK_TYPE" />: підключення</translation>
 <translation id="8425213833346101688">Змінити</translation>
@@ -954,6 +958,7 @@
 <translation id="9174050671906956834">Файли зберігаються в кошику 30 днів, а потім видаляються назавжди.</translation>
 <translation id="9183302530794969518">Google Документи</translation>
 <translation id="9189836632794948435">Казахська</translation>
+<translation id="9200427192836333033">Видобуто об’єктів: <ph name="NUMBER_OF_ITEMS" />.</translation>
 <translation id="9213073329713032541">Встановлення розпочато.</translation>
 <translation id="9219103736887031265">Зображення</translation>
 <translation id="9219908252191632183">Місячний ландшафт</translation>
diff --git a/ui/events/keycodes/dom/dom_code_data.inc b/ui/events/keycodes/dom/dom_code_data.inc
index 3fa470c7..ad13cbd 100644
--- a/ui/events/keycodes/dom/dom_code_data.inc
+++ b/ui/events/keycodes/dom/dom_code_data.inc
@@ -611,4 +611,5 @@
              KEYBOARD_LAYOUT_SELECT),
   DOM_CODE(0x0c029f, 0x0078, 0x0080, 0x0000, 0xffff, "ShowAllWindows",
              SHOW_ALL_WINDOWS),  // AC Desktop Show All Windows
+  DOM_CODE(0x0c02a2, 0x00cc, 0x00d4, 0x0000, 0xffff, NULL, ALL_APPLICATIONS),
 };
diff --git a/ui/events/keycodes/dom/keycode_converter_unittest.cc b/ui/events/keycodes/dom/keycode_converter_unittest.cc
index 00e5aef3..3cbe92c0 100644
--- a/ui/events/keycodes/dom/keycode_converter_unittest.cc
+++ b/ui/events/keycodes/dom/keycode_converter_unittest.cc
@@ -23,8 +23,8 @@
 // These are in the same order as the columns in dom_code_data.inc
 // as reflected in the DOM_CODE() macro below.
 const size_t expected_mapped_key_count[] = {
-    220,  // evdev
-    220,  // xkb
+    221,  // evdev
+    221,  // xkb
     157,  // windows
     119,  // mac
 };
diff --git a/ui/events/keycodes/dom_us_layout_data.h b/ui/events/keycodes/dom_us_layout_data.h
index 41b3cc0..09d06f94 100644
--- a/ui/events/keycodes/dom_us_layout_data.h
+++ b/ui/events/keycodes/dom_us_layout_data.h
@@ -624,6 +624,10 @@
     {DomCode::BROWSER_FAVORITES,
      VKEY_BROWSER_FAVORITES},           // 0x0C022A BrowserFavorites
     {DomCode::ZOOM_TOGGLE, VKEY_ZOOM},  // 0x0C0232 ZoomToggle
+#if BUILDFLAG(IS_POSIX)
+    {DomCode::ALL_APPLICATIONS,
+     VKEY_ALL_APPLICATIONS},  // 0x0C02A2 All Applications
+#endif
 };
 
 // This table, used by UsLayoutKeyboardCodeToDomCode(), maps legacy
diff --git a/ui/events/keycodes/keyboard_codes_posix.h b/ui/events/keycodes/keyboard_codes_posix.h
index 8bdb829..0441da8 100644
--- a/ui/events/keycodes/keyboard_codes_posix.h
+++ b/ui/events/keycodes/keyboard_codes_posix.h
@@ -251,6 +251,8 @@
   VKEY_EMOJI_PICKER = 0xED,
   // Start dictation.
   VKEY_DICTATE = 0xEE,
+  // All applications - this also triggers the launcher in Chrome OS.
+  VKEY_ALL_APPLICATIONS = 0xEF,
 };
 
 }  // namespace ui
diff --git a/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine_unittest.cc b/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine_unittest.cc
index 8a2327d2..603449e6 100644
--- a/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine_unittest.cc
+++ b/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine_unittest.cc
@@ -827,6 +827,7 @@
       {{DomCode::MICROPHONE_MUTE_TOGGLE, EF_NONE}, VKEY_MICROPHONE_MUTE_TOGGLE},
       {{DomCode::EMOJI_PICKER, EF_NONE}, VKEY_EMOJI_PICKER},
       {{DomCode::DICTATE, EF_NONE}, VKEY_DICTATE},
+      {{DomCode::ALL_APPLICATIONS, EF_NONE}, VKEY_ALL_APPLICATIONS},
       // Verify the AC Application keys.
       {{DomCode::NEW, EF_NONE}, VKEY_NEW},
       {{DomCode::CLOSE, EF_NONE}, VKEY_CLOSE},
diff --git a/weblayer/browser/page_specific_content_settings_delegate.cc b/weblayer/browser/page_specific_content_settings_delegate.cc
index eadfe91..84cc8cf 100644
--- a/weblayer/browser/page_specific_content_settings_delegate.cc
+++ b/weblayer/browser/page_specific_content_settings_delegate.cc
@@ -117,25 +117,14 @@
 void PageSpecificContentSettingsDelegate::OnContentBlocked(
     ContentSettingsType type) {}
 
-void PageSpecificContentSettingsDelegate::OnCacheStorageAccessAllowed(
+void PageSpecificContentSettingsDelegate::OnStorageAccessAllowed(
+    content_settings::mojom::ContentSettingsManager::StorageType storage_type,
     const url::Origin& origin) {}
 
 void PageSpecificContentSettingsDelegate::OnCookieAccessAllowed(
     const net::CookieList& accessed_cookies) {}
 
-void PageSpecificContentSettingsDelegate::OnDomStorageAccessAllowed(
-    const url::Origin& origin) {}
-
-void PageSpecificContentSettingsDelegate::OnFileSystemAccessAllowed(
-    const url::Origin& origin) {}
-
-void PageSpecificContentSettingsDelegate::OnIndexedDBAccessAllowed(
-    const url::Origin& origin) {}
-
 void PageSpecificContentSettingsDelegate::OnServiceWorkerAccessAllowed(
     const url::Origin& origin) {}
 
-void PageSpecificContentSettingsDelegate::OnWebDatabaseAccessAllowed(
-    const url::Origin& origin) {}
-
 }  // namespace weblayer
diff --git a/weblayer/browser/page_specific_content_settings_delegate.h b/weblayer/browser/page_specific_content_settings_delegate.h
index 2d7fe6e..943c51e 100644
--- a/weblayer/browser/page_specific_content_settings_delegate.h
+++ b/weblayer/browser/page_specific_content_settings_delegate.h
@@ -46,13 +46,11 @@
   GetMicrophoneCameraState() override;
   void OnContentAllowed(ContentSettingsType type) override;
   void OnContentBlocked(ContentSettingsType type) override;
-  void OnCacheStorageAccessAllowed(const url::Origin& origin) override;
+  void OnStorageAccessAllowed(
+      content_settings::mojom::ContentSettingsManager::StorageType storage_type,
+      const url::Origin& origin) override;
   void OnCookieAccessAllowed(const net::CookieList& accessed_cookies) override;
-  void OnDomStorageAccessAllowed(const url::Origin& origin) override;
-  void OnFileSystemAccessAllowed(const url::Origin& origin) override;
-  void OnIndexedDBAccessAllowed(const url::Origin& origin) override;
   void OnServiceWorkerAccessAllowed(const url::Origin& origin) override;
-  void OnWebDatabaseAccessAllowed(const url::Origin& origin) override;
 
   raw_ptr<content::WebContents> web_contents_;
 };